Skip to content

Bump docker/build-push-action from 5 to 6 (#124) #109

Bump docker/build-push-action from 5 to 6 (#124)

Bump docker/build-push-action from 5 to 6 (#124) #109

name: build and publish
on:
push:
branches:
- trunk
tags:
- '*'
jobs:
rustfmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions-rs/toolchain@v1.0.7
with:
toolchain: nightly
override: true
profile: minimal
components: rustfmt
- uses: actions-rs/cargo@v1.0.3
name: cargo fmt
with:
command: fmt
args: -- --check
debug_build_and_checks:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions-rs/toolchain@v1.0.7
with:
toolchain: stable
profile: minimal
components: clippy
- uses: actions-rs/cargo@v1.0.3
name: cargo build
with:
command: build
- uses: actions-rs/cargo@v1.0.3
name: cargo test
with:
command: test
- uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
release_build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions-rs/toolchain@v1.0.7
with:
toolchain: stable
profile: minimal
- uses: actions-rs/cargo@v1.0.3
name: cargo build
with:
command: build
args: --release
- uses: actions-rs/cargo@v1.0.3
name: cargo publish --dry-run
with:
command: publish
args: --dry-run
publish:
runs-on: ubuntu-latest
needs:
- rustfmt
- debug_build_and_checks
- release_build
steps:
- uses: actions/checkout@v4
- uses: crazy-max/ghaction-docker-meta@v1
id: docker_meta
with:
images: |
jakewharton/uniqtoo
ghcr.io/jakewharton/uniqtoo
tag-semver: |
{{version}}
{{major}}
{{major}}.{{minor}}
- uses: docker/login-action@v3
with:
username: jakewharton
password: ${{ secrets.DOCKER_HUB_TOKEN }}
- run: echo ${{ secrets.GHCR_TOKEN }} | docker login ghcr.io -u $GITHUB_ACTOR --password-stdin
- uses: actions-rs/toolchain@v1.0.7
with:
toolchain: stable
profile: minimal
- uses: actions-rs/cargo@v1.0.3
if: startsWith(github.ref, 'refs/tags/')
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CRATES_IO_TOKEN }}
with:
command: publish
- uses: docker/build-push-action@v6
with:
push: true
tags: ${{ steps.docker_meta.outputs.tags }}
labels: ${{ steps.docker_meta.outputs.labels }}
- uses: ffurrer2/extract-release-notes@v2
if: startsWith(github.ref, 'refs/tags/')
id: release_notes
- uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
body: ${{ steps.release_notes.outputs.release_notes }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}