tirbofish/dropbear · diff
ci: new fix
jarvis, run github actions
Signature present but could not be verified.
Unverified
@@ -17,55 +17,18 @@ jobs: os_name: windows-x64 target: x86_64-pc-windows-msvc ext: .exe - slang_platform: windows-x86_64 - slang_ext: zip - os: ubuntu-latest os_name: linux-x64 target: x86_64-unknown-linux-gnu ext: "" - slang_platform: linux-x86_64 - slang_ext: tar.gz - os: macos-latest os_name: macos-arm64 target: aarch64-apple-darwin ext: "" - slang_platform: macos-aarch64 - slang_ext: zip steps: - uses: actions/checkout@v4 with: submodules: 'recursive' - - - name: Get latest Slang release - id: slang_release - uses: pozetroninc/github-action-get-latest-release@master - with: - repository: shader-slang/slang - excludes: "prerelease, draft" - token: ${{ secrets.GITHUB_TOKEN }} - - - name: Download and setup Slang - shell: bash - run: | - VERSION=${{ steps.slang_release.outputs.release }} - VERSION=${VERSION#v} - - echo "Downloading Slang ${VERSION}" - - SLANG_FILE="slang-${VERSION}-${{ matrix.slang_platform }}.${{ matrix.slang_ext }}" - SLANG_URL="https://github.com/shader-slang/slang/releases/download/v${VERSION}/${SLANG_FILE}" - - curl -L -o "${SLANG_FILE}" "${SLANG_URL}" - - mkdir -p slang - if [ "${{ matrix.slang_ext }}" = "zip" ]; then - unzip -q "${SLANG_FILE}" -d slang - else - tar -xzf "${SLANG_FILE}" -C slang - fi - - echo "SLANG_DIR=$(pwd)/slang" >> $GITHUB_ENV - - name: Set up JDK 21 uses: actions/setup-java@v4 with: @@ -108,7 +71,8 @@ jobs: with: targets: ${{ matrix.target }} - name: build eucalyptus packages - # run: cargo build --release --package eucalyptus-core --package eucalyptus-editor --package magna-carta --package redback-runtime --target ${{ matrix.target }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: cargo build --release --package eucalyptus-core --package eucalyptus-editor --package magna-carta --target ${{ matrix.target }} - name: prepare the artifact run: | @@ -17,7 +17,11 @@ fn main() -> anyhow::Result<()> { fn find_or_download_slangc() -> anyhow::Result<PathBuf> { if let Ok(path) = std::env::var("SLANG_DIR") { let path = PathBuf::from(path); - let exe_path = path.join("bin").join("slangc"); + let exe_path = path.join("bin").join(if cfg!(target_os = "windows") { + "slangc.exe" + } else { + "slangc" + }); if is_valid_slangc(&exe_path)? { return Ok(path); } else { @@ -187,14 +191,24 @@ fn get_latest_slang_version() -> anyhow::Result<String> { } let client = reqwest::blocking::Client::new(); - let response = client + let mut request = client .get("https://api.github.com/repos/shader-slang/slang/releases/latest") - .header(reqwest::header::USER_AGENT, "dropbear-slank-build") + .header(reqwest::header::USER_AGENT, "dropbear-slank-build"); + + // Add GitHub token if available for authenticated requests (avoids rate limiting) + if let Ok(token) = std::env::var("GITHUB_TOKEN") { + request = request.header(reqwest::header::AUTHORIZATION, format!("Bearer {}", token)); + } + + let response = request .send() .map_err(|e| anyhow::anyhow!("Failed to fetch latest version from GitHub: {}", e))?; if !response.status().is_success() { - return Err(anyhow::anyhow!("GitHub API failed with status: {}", response.status())); + return Err(anyhow::anyhow!( + "GitHub API failed with status: {}. If rate limited, set GITHUB_TOKEN environment variable.", + response.status() + )); } let release: Release = response.json()