-
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #25 from sdr-enthusiasts/acars-bridge
Acars bridge
- Loading branch information
Showing
30 changed files
with
592 additions
and
138 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -12,6 +12,11 @@ on: | |
type: boolean | ||
description: "Use base image testpr" | ||
default: false | ||
build_latest_as_test: | ||
required: false | ||
type: boolean | ||
description: "Build latest as test" | ||
default: false | ||
|
||
# Build and deploy the image on pushes to main branch | ||
push: | ||
|
@@ -23,9 +28,6 @@ on: | |
- "Dockerfile.build_binary" | ||
- "rootfs/**" | ||
|
||
# Build and deploy the image nightly (to ensure we pick up any security updates) | ||
# schedule: | ||
# - cron: "0 14 * * *" | ||
env: | ||
REGISTRY: ghcr.io | ||
IMAGE_NAME: ${{ github.repository }} | ||
|
@@ -47,8 +49,164 @@ jobs: | |
run: | | ||
echo "Workflow dispatch reason: $INPUTS_REASON" | ||
echo "Use test image: $INPUTS_USE_TEST_IMAGE" | ||
binary_build_armv7: | ||
name: Build Binary - armv7 | ||
runs-on: ubuntu-latest | ||
# needs: test_rust_functionality | ||
|
||
steps: | ||
- name: Checkout | ||
uses: actions/[email protected] | ||
with: | ||
fetch-depth: 0 | ||
repository: sdr-enthusiasts/acars-bridge | ||
|
||
- name: Run Docker on tmpfs | ||
uses: JonasAlfredsson/docker-on-tmpfs@v1 | ||
with: | ||
tmpfs_size: 5 | ||
swap_size: 4 | ||
swap_location: "/mnt/swapfile" | ||
|
||
- name: Set up QEMU | ||
uses: docker/setup-qemu-action@v3 | ||
|
||
- name: Set up Docker Buildx | ||
uses: docker/setup-buildx-action@v3 | ||
|
||
- name: Build armv7 | ||
uses: docker/build-push-action@v5 | ||
with: | ||
context: . | ||
push: false | ||
file: Dockerfile.build_binary | ||
tags: acars-bridge:armv7 | ||
platforms: linux/arm/v7 | ||
outputs: type=local,dest=./image_armv7/ | ||
|
||
- name: Upload artifact armv7 binary | ||
uses: actions/[email protected] | ||
with: | ||
name: acars-bridge.armv7 | ||
path: ./image_armv7/acars-bridge | ||
|
||
binary_build_arm64: | ||
name: Build Binary - arm64 | ||
runs-on: ubuntu-latest | ||
# needs: test_rust_functionality | ||
|
||
steps: | ||
- name: Checkout | ||
uses: actions/[email protected] | ||
with: | ||
fetch-depth: 0 | ||
repository: sdr-enthusiasts/acars-bridge | ||
|
||
- name: Run Docker on tmpfs | ||
uses: JonasAlfredsson/docker-on-tmpfs@v1 | ||
with: | ||
tmpfs_size: 5 | ||
swap_size: 4 | ||
swap_location: "/mnt/swapfile" | ||
|
||
- name: Set up QEMU | ||
uses: docker/setup-qemu-action@v3 | ||
|
||
- name: Set up Docker Buildx | ||
uses: docker/setup-buildx-action@v3 | ||
|
||
- name: Build arm64 | ||
uses: docker/build-push-action@v5 | ||
with: | ||
context: . | ||
push: false | ||
file: Dockerfile.build_binary | ||
tags: acars-bridge:arm64 | ||
platforms: linux/arm64 | ||
outputs: type=local,dest=./image_arm64/ | ||
|
||
- name: Upload artifact arm64 binary | ||
uses: actions/[email protected] | ||
with: | ||
name: acars-bridge.arm64 | ||
path: ./image_arm64/acars-bridge | ||
|
||
binary_build_amd64: | ||
name: Build Binary - amd64 | ||
runs-on: ubuntu-latest | ||
# needs: test_rust_functionality | ||
|
||
steps: | ||
- name: Checkout | ||
uses: actions/[email protected] | ||
with: | ||
fetch-depth: 0 | ||
repository: sdr-enthusiasts/acars-bridge | ||
|
||
- name: Run Docker on tmpfs | ||
uses: JonasAlfredsson/docker-on-tmpfs@v1 | ||
with: | ||
tmpfs_size: 5 | ||
swap_size: 4 | ||
swap_location: "/mnt/swapfile" | ||
|
||
- name: Set up QEMU | ||
uses: docker/setup-qemu-action@v3 | ||
|
||
- name: Set up Docker Buildx | ||
uses: docker/setup-buildx-action@v3 | ||
|
||
- name: Build amd64 | ||
uses: docker/build-push-action@v5 | ||
with: | ||
context: . | ||
push: false | ||
file: Dockerfile.build_binary | ||
tags: acars-bridge:amd64 | ||
platforms: linux/amd64 | ||
outputs: type=local,dest=./image_amd64/ | ||
|
||
- name: Upload artifact amd64 binary | ||
uses: actions/[email protected] | ||
with: | ||
name: acars-bridge.amd64 | ||
path: ./image_amd64/acars-bridge | ||
|
||
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/[email protected] | ||
with: | ||
name: acars-bridge.amd64 | ||
path: ./bin/acars-bridge.amd64 | ||
|
||
- uses: actions/[email protected] | ||
with: | ||
name: acars-bridge.armv7 | ||
path: ./bin/acars-bridge.armv7 | ||
|
||
- uses: actions/[email protected] | ||
with: | ||
name: acars-bridge.arm64 | ||
path: ./bin/acars-bridge.arm64 | ||
|
||
- run: ls -la ./bin/* | ||
|
||
- name: Cache Binaries | ||
uses: actions/cache@v3 | ||
with: | ||
path: ./bin/ | ||
key: ${{ github.run_id }} | ||
build_and_push: | ||
name: Image Build & Push | ||
needs: [consolidate_binaries] | ||
if: | | ||
github.event.inputs.build_latest_as_test == 'false' || | ||
github.event.inputs.build_latest_as_test == '' | ||
uses: sdr-enthusiasts/common-github-workflows/.github/workflows/build_and_push_image.yml@main | ||
with: | ||
push_enabled: true | ||
|
@@ -66,5 +224,37 @@ jobs: | |
build_platform_specific: ${{ github.event.inputs.use_test_image == 'false' || github.event.inputs.use_test_image == '' }} | ||
build_nohealthcheck: ${{ github.event.inputs.use_test_image == 'false' || github.event.inputs.use_test_image == '' }} | ||
build_baseimage_url: :acars-decoder/:acars-decoder-test-pr | ||
cache_enabled: true | ||
cache_path: ./bin/ | ||
cache_key: ${{ github.run_id }} | ||
secrets: | ||
ghcr_token: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
deploy_test: | ||
name: Deploy as test | ||
needs: [consolidate_binaries] | ||
if: | | ||
github.event.inputs.build_latest_as_test == 'true' && | ||
(github.event.inputs.use_test_image == 'false' || github.event.inputs.use_test_image == '') | ||
uses: sdr-enthusiasts/common-github-workflows/.github/workflows/build_and_push_image.yml@main | ||
with: | ||
push_enabled: true | ||
push_destinations: ghcr.io | ||
ghcr_repo_owner: ${{ github.repository_owner }} | ||
ghcr_repo: ${{ github.repository }} | ||
build_with_tmpfs: true | ||
get_version_method: git_commit_hash_short | ||
# set build_latest to true if github.event.inputs.use_test_image is false | ||
build_latest: true | ||
docker_latest_tag: test | ||
build_baseimage_test: false | ||
# only build the entire stack if we are not using the test image | ||
build_version_specific: false | ||
build_platform_specific: false | ||
build_nohealthcheck: false | ||
build_baseimage_url: :acars-decoder/:acars-decoder-test-pr | ||
cache_enabled: true | ||
cache_path: ./bin/ | ||
cache_key: ${{ github.run_id }} | ||
secrets: | ||
ghcr_token: ${{ secrets.GITHUB_TOKEN }} |
Oops, something went wrong.