Bump docker/build-push-action from 6.9.0 to 6.10.0 #692
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: Pull Request | |
on: | |
# Enable manual running of action if necessary | |
workflow_dispatch: | |
# Build and test deployment the image on pushes to main branch | |
pull_request: | |
# # Only publish on push to main branch | |
# branches: | |
# - main | |
# Only run if the PR yaml, Dockerfile, sh, py or rs files have changed | |
paths: | |
- Dockerfile** | |
- "**on_pr.yaml" | |
- "**.py" | |
- "**.rs" | |
- "**.sh" | |
- "**.toml" | |
jobs: | |
check: | |
name: Check | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4.2.2 | |
- uses: actions-rs/toolchain@v1.0.7 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- uses: actions-rs/cargo@v1.0.3 | |
with: | |
command: check | |
fmt: | |
name: Rustfmt | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4.2.2 | |
- uses: actions-rs/toolchain@v1.0.7 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- run: rustup component add rustfmt | |
- uses: actions-rs/cargo@v1.0.3 | |
with: | |
command: fmt | |
args: --all -- --check | |
clippy: | |
name: Clippy | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4.2.2 | |
- uses: actions-rs/toolchain@v1.0.7 | |
with: | |
toolchain: stable | |
components: clippy | |
override: true | |
- uses: actions-rs/clippy-check@v1.0.7 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
args: --all-features | |
name: Clippy Output | |
hadolint: | |
name: "Linting: hadolint" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4.2.2 | |
- name: Pull hadolint/hadolint:latest Image | |
run: docker pull hadolint/hadolint:latest | |
- name: Run hadolint against Dockerfiles | |
run: docker run --rm -i -v "$PWD":/workdir --workdir /workdir --entrypoint hadolint hadolint/hadolint --ignore DL3013 --ignore DL3008 $(find . -type f -iname "Dockerfile*") | |
test_rust_functionality: | |
name: Build and test rust functionality | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4.2.2 | |
with: | |
fetch-depth: 0 | |
- name: Install Rust and deps | |
run: | | |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y | |
sudo apt-get update | |
sudo apt-get install -y --no-install-recommends libzmq3-dev | |
python3 -m pip install zmq | |
- name: Get binary version from Cargo.toml | |
id: release_version | |
run: | | |
# Get version from Cargo.toml | |
RELEASE_VERSION=$(cat ./rust/bin/acars_router/Cargo.toml | grep '\[package\]' -A9999 | grep -m 1 'version = ' | tr -d " " | tr -d '"' | tr -d "'" | cut -d = -f 2) | |
echo "$RELEASE_VERSION" | |
- name: Run tests | |
run: | | |
cd test_data | |
./run_acars_ruster_test.sh | |
binary_build_armv7: | |
name: Build Binary - armv7 | |
runs-on: ubuntu-latest | |
# needs: test_rust_functionality | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4.2.2 | |
with: | |
fetch-depth: 0 | |
- name: Run Docker on tmpfs | |
uses: JonasAlfredsson/docker-on-tmpfs@v1.0.1 | |
with: | |
tmpfs_size: 5 | |
swap_size: 4 | |
swap_location: "/mnt/swapfile" | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3.2.0 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3.7.1 | |
- name: Build armv7 | |
uses: docker/build-push-action@v6.10.0 | |
with: | |
context: . | |
push: false | |
file: Dockerfile.build_binary | |
tags: acars_router:armv7 | |
platforms: linux/arm/v7 | |
outputs: type=local,dest=./image_armv7/ | |
- name: Upload artifact armv7 binary | |
uses: actions/upload-artifact@v4.4.3 | |
with: | |
name: acars_router.armv7 | |
path: ./image_armv7/acars_router | |
binary_build_arm64: | |
name: Build Binary - arm64 | |
runs-on: ubuntu-latest | |
# needs: test_rust_functionality | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4.2.2 | |
with: | |
fetch-depth: 0 | |
- name: Run Docker on tmpfs | |
uses: JonasAlfredsson/docker-on-tmpfs@v1.0.1 | |
with: | |
tmpfs_size: 5 | |
swap_size: 4 | |
swap_location: "/mnt/swapfile" | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3.2.0 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3.7.1 | |
- name: Build arm64 | |
uses: docker/build-push-action@v6.10.0 | |
with: | |
context: . | |
push: false | |
file: Dockerfile.build_binary | |
tags: acars_router:arm64 | |
platforms: linux/arm64 | |
outputs: type=local,dest=./image_arm64/ | |
- name: Upload artifact arm64 binary | |
uses: actions/upload-artifact@v4.4.3 | |
with: | |
name: acars_router.arm64 | |
path: ./image_arm64/acars_router | |
binary_build_amd64: | |
name: Build Binary - amd64 | |
runs-on: ubuntu-latest | |
needs: test_rust_functionality | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4.2.2 | |
with: | |
fetch-depth: 0 | |
- name: Run Docker on tmpfs | |
uses: JonasAlfredsson/docker-on-tmpfs@v1.0.1 | |
with: | |
tmpfs_size: 5 | |
swap_size: 4 | |
swap_location: "/mnt/swapfile" | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3.2.0 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3.7.1 | |
- name: Build amd64 | |
uses: docker/build-push-action@v6.10.0 | |
with: | |
context: . | |
push: false | |
file: Dockerfile.build_binary | |
tags: acars_router:amd64 | |
platforms: linux/amd64 | |
outputs: type=local,dest=./image_amd64/ | |
- name: Upload artifact amd64 binary | |
uses: actions/upload-artifact@v4.4.3 | |
with: | |
name: acars_router.amd64 | |
path: ./image_amd64/acars_router | |
consolidate_binaries: | |
name: Consolidate & Cache Binaries | |
runs-on: ubuntu-latest | |
needs: [binary_build_amd64, binary_build_arm64, binary_build_armv7] | |
steps: | |
- run: mkdir -p ./bin | |
- uses: actions/download-artifact@v4.1.8 | |
with: | |
name: acars_router.amd64 | |
path: ./bin/acars_router.amd64 | |
- uses: actions/download-artifact@v4.1.8 | |
with: | |
name: acars_router.armv7 | |
path: ./bin/acars_router.armv7 | |
- uses: actions/download-artifact@v4.1.8 | |
with: | |
name: acars_router.arm64 | |
path: ./bin/acars_router.arm64 | |
- run: ls -la ./bin/* | |
- name: Cache Binaries | |
uses: actions/cache@v4.1.2 | |
with: | |
path: ./bin/ | |
key: ${{ github.run_id }} | |
test_docker_image_build: | |
name: Test Docker Image Build | |
needs: [hadolint, consolidate_binaries, test_rust_functionality] | |
uses: sdr-enthusiasts/common-github-workflows/.github/workflows/build_and_push_image.yml@main | |
with: | |
get_version_method: cargo_toml_file_in_repo:file=/Cargo.toml | |
build_with_tmpfs: true | |
build_nohealthcheck: false | |
cache_enabled: true | |
cache_path: ./bin/ | |
cache_key: ${{ github.run_id }} |