name: "Release" on: push: tags: "v*" jobs: release: name: "Release" runs-on: debian-latest steps: - name: Checkout sources uses: actions/checkout@v3 with: fetch-depth: 0 - name: Determine the version of the release run: | VERSION=${GITHUB_REF_NAME#v} echo "Releasing version: $VERSION" echo "VERSION=$VERSION" >> $GITHUB_ENV - name: Install Rust stable toolchain uses: https://github.com/actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - name: Use sparse Cargo index for crates.io run: echo -e '[registries.crates-io]\nprotocol = "sparse"' >> /root/.cargo/config.toml - name: Install cargo-deb uses: https://github.com/brndnmtthws/rust-action-cargo-binstall@v1 with: packages: cargo-deb - name: Run cargo-deb uses: https://github.com/actions-rs/cargo@v1 with: command: deb - name: Install Go uses: actions/setup-go@v4 with: go-version: '>=1.20.1' - name: Release to Gitea uses: actions/release-action@main with: # This is available by default. api_key: '${{ secrets.RELEASE_TOKEN }}' files: target/debian/podbringer*.deb title: 'Release ${{ env.VERSION }}' release-crate: name: "Release crate" runs-on: debian-latest steps: - name: Checkout sources uses: actions/checkout@v3 with: fetch-depth: 0 - name: Install Rust stable toolchain uses: https://github.com/actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - name: Use sparse Cargo index for crates.io run: echo -e '[registries.crates-io]\nprotocol = "sparse"' >> /root/.cargo/config.toml - name: Register the Gitea crate registry with Cargo run: echo -e '[registries.luon]\nindex = "https://git.luon.net/paul/_cargo-index.git"' >> /root/.cargo/config.toml - name: Run cargo publish uses: https://github.com/actions-rs/cargo@v1 env: # This needs to be provided for the repository; no login necessary as a result. CARGO_REGISTRIES_LUON_TOKEN: '${{ secrets.CARGO_REGISTRIES_LUON_TOKEN }}' with: command: publish args: --registry luon