name: build on: push: branches: - "main" env: CARGO_TERM_COLOR: always OUT_DIR: ./output jobs: release: name: Create Release runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@master - name: Create Release uses: actions/create-release@latest env: GITHUB_TOKEN: ${{ secrets.GITEA_TOKEN }} with: tag_name: ${{ gitea.ref }} release_name: ${{ gitea.ref }} draft: false prerelease: false publish: name: publish needs: - release strategy: fail-fast: true matrix: include: - suffix: windows-x86_64 platform: windows-2022 archive: zip name: x86_64-pc-windows-msvc - suffix: linux-x86_64 platform: ubuntu-latest archive: tar.gz name: x86_64-unknown-linux-gnu runs-on: ${{ matrix.platform }} steps: - name: Ensure rust is up to date run: | rustup update rustup toolchain install nightly - uses: actions/checkout@v4 - name: Create output directory run: mkdir -f output - name: Build release run: cargo +nightly -Z unstable-options b -r --artifact-dir ./output - name: Collect windows artifacts if: matrix.platform != 'windows-2022' shell: powershell run: | cp -r -fo assets $env:GITEA_WORKSPACE/$env:OUT_DIR/ Compress-Archive -Path $env:GITEA_WORKSPACE/$env:OUT_DIR/* -DestinationPath $env:GITEA_WORKSPACE/${{ gitea.event.repository.name }}_${{ matrix.name }}.${{ matrix.archive }} - name: Upload artifacts uses: ncipollo/release-action@v1 with: allowUpdates: true artifacts: "${{ gitea.event.repository.name }}_${{ matrix.name }}.${{ matrix.archive }}"