Implement GPS Fusion #35
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: Build and Publish Docker Images | |
on: | |
pull_request: | |
branches: ["development"] | |
paths: | |
- ".devcontainer/Dockerfile_Jammy" | |
- ".devcontainer/Dockerfile_Focal" | |
- ".devcontainer/Dockerfile_JetPack" | |
push: | |
branches: ["development"] | |
paths: | |
- ".devcontainer/Dockerfile_Jammy" | |
- ".devcontainer/Dockerfile_Focal" | |
- ".devcontainer/Dockerfile_JetPack" | |
workflow_dispatch: | |
concurrency: | |
group: "docker" | |
cancel-in-progress: false | |
jobs: | |
build-and-push: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [[self-hosted, linux, X64], [self-hosted, linux, ARM64]] | |
name: [Jammy, Focal, JetPack] | |
file: [Dockerfile_Jammy, Dockerfile_Focal, Dockerfile_JetPack] | |
image: [autonomy-jammy, autonomy-focal, autonomy-jetpack] | |
arch: [amd64, arm64] | |
exclude: | |
- os: [self-hosted, linux, X64] | |
name: JetPack | |
file: Dockerfile_Jammy | |
image: autonomy-jammy | |
arch: amd64 | |
- os: [self-hosted, linux, X64] | |
name: JetPack | |
file: Dockerfile_Jammy | |
image: autonomy-jammy | |
arch: arm64 | |
- os: [self-hosted, linux, X64] | |
name: JetPack | |
file: Dockerfile_Jammy | |
image: autonomy-focal | |
arch: amd64 | |
- os: [self-hosted, linux, X64] | |
name: JetPack | |
file: Dockerfile_Jammy | |
image: autonomy-focal | |
arch: arm64 | |
- os: [self-hosted, linux, X64] | |
name: JetPack | |
file: Dockerfile_Jammy | |
image: autonomy-jetpack | |
arch: amd64 | |
- os: [self-hosted, linux, X64] | |
name: JetPack | |
file: Dockerfile_Jammy | |
image: autonomy-jetpack | |
arch: arm64 | |
- os: [self-hosted, linux, X64] | |
name: JetPack | |
file: Dockerfile_Focal | |
image: autonomy-jammy | |
arch: amd64 | |
- os: [self-hosted, linux, X64] | |
name: JetPack | |
file: Dockerfile_Focal | |
image: autonomy-jammy | |
arch: arm64 | |
- os: [self-hosted, linux, X64] | |
name: JetPack | |
file: Dockerfile_Focal | |
image: autonomy-focal | |
arch: amd64 | |
- os: [self-hosted, linux, X64] | |
name: JetPack | |
file: Dockerfile_Focal | |
image: autonomy-focal | |
arch: arm64 | |
- os: [self-hosted, linux, X64] | |
name: JetPack | |
file: Dockerfile_Focal | |
image: autonomy-jetpack | |
arch: amd64 | |
- os: [self-hosted, linux, X64] | |
name: JetPack | |
file: Dockerfile_Focal | |
image: autonomy-jetpack | |
arch: arm64 | |
- os: [self-hosted, linux, X64] | |
name: JetPack | |
file: Dockerfile_JetPack | |
image: autonomy-jammy | |
arch: amd64 | |
- os: [self-hosted, linux, X64] | |
name: JetPack | |
file: Dockerfile_JetPack | |
image: autonomy-jammy | |
arch: arm64 | |
- os: [self-hosted, linux, X64] | |
name: JetPack | |
file: Dockerfile_JetPack | |
image: autonomy-focal | |
arch: amd64 | |
- os: [self-hosted, linux, X64] | |
name: JetPack | |
file: Dockerfile_JetPack | |
image: autonomy-focal | |
arch: arm64 | |
- os: [self-hosted, linux, X64] | |
name: JetPack | |
file: Dockerfile_JetPack | |
image: autonomy-jetpack | |
arch: amd64 | |
- os: [self-hosted, linux, X64] | |
name: JetPack | |
file: Dockerfile_JetPack | |
image: autonomy-jetpack | |
arch: arm64 | |
- os: [self-hosted, linux, X64] | |
name: Jammy | |
file: Dockerfile_Focal | |
image: autonomy-jammy | |
arch: amd64 | |
- os: [self-hosted, linux, X64] | |
name: Jammy | |
file: Dockerfile_Focal | |
image: autonomy-jammy | |
arch: arm64 | |
- os: [self-hosted, linux, X64] | |
name: Jammy | |
file: Dockerfile_Focal | |
image: autonomy-focal | |
arch: amd64 | |
- os: [self-hosted, linux, X64] | |
name: Jammy | |
file: Dockerfile_Focal | |
image: autonomy-focal | |
arch: arm64 | |
- os: [self-hosted, linux, X64] | |
name: Jammy | |
file: Dockerfile_Focal | |
image: autonomy-jetpack | |
arch: amd64 | |
- os: [self-hosted, linux, X64] | |
name: Jammy | |
file: Dockerfile_Focal | |
image: autonomy-jetpack | |
arch: arm64 | |
- os: [self-hosted, linux, X64] | |
name: Jammy | |
file: Dockerfile_JetPack | |
image: autonomy-jammy | |
arch: amd64 | |
- os: [self-hosted, linux, X64] | |
name: Jammy | |
file: Dockerfile_JetPack | |
image: autonomy-jammy | |
arch: arm64 | |
- os: [self-hosted, linux, X64] | |
name: Jammy | |
file: Dockerfile_JetPack | |
image: autonomy-focal | |
arch: amd64 | |
- os: [self-hosted, linux, X64] | |
name: Jammy | |
file: Dockerfile_JetPack | |
image: autonomy-focal | |
arch: arm64 | |
- os: [self-hosted, linux, X64] | |
name: Jammy | |
file: Dockerfile_JetPack | |
image: autonomy-jetpack | |
arch: amd64 | |
- os: [self-hosted, linux, X64] | |
name: Jammy | |
file: Dockerfile_JetPack | |
image: autonomy-jetpack | |
arch: arm64 | |
- os: [self-hosted, linux, X64] | |
name: Jammy | |
file: Dockerfile_Jammy | |
image: autonomy-focal | |
arch: amd64 | |
- os: [self-hosted, linux, X64] | |
name: Jammy | |
file: Dockerfile_Jammy | |
image: autonomy-focal | |
arch: arm64 | |
- os: [self-hosted, linux, X64] | |
name: Jammy | |
file: Dockerfile_Jammy | |
image: autonomy-jetpack | |
arch: amd64 | |
- os: [self-hosted, linux, X64] | |
name: Jammy | |
file: Dockerfile_Jammy | |
image: autonomy-jetpack | |
arch: arm64 | |
- os: [self-hosted, linux, X64] | |
name: Jammy | |
file: Dockerfile_Jammy | |
image: autonomy-jammy | |
arch: arm64 | |
- os: [self-hosted, linux, X64] | |
name: Focal | |
file: Dockerfile_Jammy | |
image: autonomy-jammy | |
arch: amd64 | |
- os: [self-hosted, linux, X64] | |
name: Focal | |
file: Dockerfile_Jammy | |
image: autonomy-jammy | |
arch: arm64 | |
- os: [self-hosted, linux, X64] | |
name: Focal | |
file: Dockerfile_Jammy | |
image: autonomy-focal | |
arch: amd64 | |
- os: [self-hosted, linux, X64] | |
name: Focal | |
file: Dockerfile_Jammy | |
image: autonomy-focal | |
arch: arm64 | |
- os: [self-hosted, linux, X64] | |
name: Focal | |
file: Dockerfile_Jammy | |
image: autonomy-jetpack | |
arch: amd64 | |
- os: [self-hosted, linux, X64] | |
name: Focal | |
file: Dockerfile_Jammy | |
image: autonomy-jetpack | |
arch: arm64 | |
- os: [self-hosted, linux, X64] | |
name: Focal | |
file: Dockerfile_JetPack | |
image: autonomy-jammy | |
arch: amd64 | |
- os: [self-hosted, linux, X64] | |
name: Focal | |
file: Dockerfile_JetPack | |
image: autonomy-jammy | |
arch: arm64 | |
- os: [self-hosted, linux, X64] | |
name: Focal | |
file: Dockerfile_JetPack | |
image: autonomy-focal | |
arch: amd64 | |
- os: [self-hosted, linux, X64] | |
name: Focal | |
file: Dockerfile_JetPack | |
image: autonomy-focal | |
arch: arm64 | |
- os: [self-hosted, linux, X64] | |
name: Focal | |
file: Dockerfile_JetPack | |
image: autonomy-jetpack | |
arch: amd64 | |
- os: [self-hosted, linux, X64] | |
name: Focal | |
file: Dockerfile_JetPack | |
image: autonomy-jetpack | |
arch: arm64 | |
- os: [self-hosted, linux, X64] | |
name: Focal | |
file: Dockerfile_Focal | |
image: autonomy-jammy | |
arch: amd64 | |
- os: [self-hosted, linux, X64] | |
name: Focal | |
file: Dockerfile_Focal | |
image: autonomy-jammy | |
arch: arm64 | |
- os: [self-hosted, linux, X64] | |
name: Focal | |
file: Dockerfile_Focal | |
image: autonomy-jetpack | |
arch: amd64 | |
- os: [self-hosted, linux, X64] | |
name: Focal | |
file: Dockerfile_Focal | |
image: autonomy-jetpack | |
arch: arm64 | |
- os: [self-hosted, linux, X64] | |
name: Focal | |
file: Dockerfile_Focal | |
image: autonomy-focal | |
arch: arm64 | |
- os: [self-hosted, linux, ARM64] | |
name: Jammy | |
file: Dockerfile_Jammy | |
image: autonomy-jammy | |
arch: amd64 | |
- os: [self-hosted, linux, ARM64] | |
name: Jammy | |
file: Dockerfile_Jammy | |
image: autonomy-jammy | |
arch: arm64 | |
- os: [self-hosted, linux, ARM64] | |
name: Jammy | |
file: Dockerfile_Jammy | |
image: autonomy-focal | |
arch: amd64 | |
- os: [self-hosted, linux, ARM64] | |
name: Jammy | |
file: Dockerfile_Jammy | |
image: autonomy-focal | |
arch: arm64 | |
- os: [self-hosted, linux, ARM64] | |
name: Jammy | |
file: Dockerfile_Jammy | |
image: autonomy-jetpack | |
arch: amd64 | |
- os: [self-hosted, linux, ARM64] | |
name: Jammy | |
file: Dockerfile_Jammy | |
image: autonomy-jetpack | |
arch: arm64 | |
- os: [self-hosted, linux, ARM64] | |
name: Jammy | |
file: Dockerfile_Focal | |
image: autonomy-jammy | |
arch: amd64 | |
- os: [self-hosted, linux, ARM64] | |
name: Jammy | |
file: Dockerfile_Focal | |
image: autonomy-jammy | |
arch: arm64 | |
- os: [self-hosted, linux, ARM64] | |
name: Jammy | |
file: Dockerfile_Focal | |
image: autonomy-focal | |
arch: amd64 | |
- os: [self-hosted, linux, ARM64] | |
name: Jammy | |
file: Dockerfile_Focal | |
image: autonomy-focal | |
arch: arm64 | |
- os: [self-hosted, linux, ARM64] | |
name: Jammy | |
file: Dockerfile_Focal | |
image: autonomy-jetpack | |
arch: amd64 | |
- os: [self-hosted, linux, ARM64] | |
name: Jammy | |
file: Dockerfile_Focal | |
image: autonomy-jetpack | |
arch: arm64 | |
- os: [self-hosted, linux, ARM64] | |
name: Jammy | |
file: Dockerfile_JetPack | |
image: autonomy-jammy | |
arch: amd64 | |
- os: [self-hosted, linux, ARM64] | |
name: Jammy | |
file: Dockerfile_JetPack | |
image: autonomy-jammy | |
arch: arm64 | |
- os: [self-hosted, linux, ARM64] | |
name: Jammy | |
file: Dockerfile_JetPack | |
image: autonomy-focal | |
arch: amd64 | |
- os: [self-hosted, linux, ARM64] | |
name: Jammy | |
file: Dockerfile_JetPack | |
image: autonomy-focal | |
arch: arm64 | |
- os: [self-hosted, linux, ARM64] | |
name: Jammy | |
file: Dockerfile_JetPack | |
image: autonomy-jetpack | |
arch: amd64 | |
- os: [self-hosted, linux, ARM64] | |
name: Jammy | |
file: Dockerfile_JetPack | |
image: autonomy-jetpack | |
arch: arm64 | |
- os: [self-hosted, linux, ARM64] | |
name: Focal | |
file: Dockerfile_Jammy | |
image: autonomy-jammy | |
arch: amd64 | |
- os: [self-hosted, linux, ARM64] | |
name: Focal | |
file: Dockerfile_Jammy | |
image: autonomy-jammy | |
arch: arm64 | |
- os: [self-hosted, linux, ARM64] | |
name: Focal | |
file: Dockerfile_Jammy | |
image: autonomy-focal | |
arch: amd64 | |
- os: [self-hosted, linux, ARM64] | |
name: Focal | |
file: Dockerfile_Jammy | |
image: autonomy-focal | |
arch: arm64 | |
- os: [self-hosted, linux, ARM64] | |
name: Focal | |
file: Dockerfile_Jammy | |
image: autonomy-jetpack | |
arch: amd64 | |
- os: [self-hosted, linux, ARM64] | |
name: Focal | |
file: Dockerfile_Jammy | |
image: autonomy-jetpack | |
arch: arm64 | |
- os: [self-hosted, linux, ARM64] | |
name: Focal | |
file: Dockerfile_Focal | |
image: autonomy-jammy | |
arch: amd64 | |
- os: [self-hosted, linux, ARM64] | |
name: Focal | |
file: Dockerfile_Focal | |
image: autonomy-jammy | |
arch: arm64 | |
- os: [self-hosted, linux, ARM64] | |
name: Focal | |
file: Dockerfile_Focal | |
image: autonomy-focal | |
arch: amd64 | |
- os: [self-hosted, linux, ARM64] | |
name: Focal | |
file: Dockerfile_Focal | |
image: autonomy-focal | |
arch: arm64 | |
- os: [self-hosted, linux, ARM64] | |
name: Focal | |
file: Dockerfile_Focal | |
image: autonomy-jetpack | |
arch: amd64 | |
- os: [self-hosted, linux, ARM64] | |
name: Focal | |
file: Dockerfile_Focal | |
image: autonomy-jetpack | |
arch: arm64 | |
- os: [self-hosted, linux, ARM64] | |
name: Focal | |
file: Dockerfile_JetPack | |
image: autonomy-jammy | |
arch: amd64 | |
- os: [self-hosted, linux, ARM64] | |
name: Focal | |
file: Dockerfile_JetPack | |
image: autonomy-jammy | |
arch: arm64 | |
- os: [self-hosted, linux, ARM64] | |
name: Focal | |
file: Dockerfile_JetPack | |
image: autonomy-focal | |
arch: amd64 | |
- os: [self-hosted, linux, ARM64] | |
name: Focal | |
file: Dockerfile_JetPack | |
image: autonomy-focal | |
arch: arm64 | |
- os: [self-hosted, linux, ARM64] | |
name: Focal | |
file: Dockerfile_JetPack | |
image: autonomy-jetpack | |
arch: amd64 | |
- os: [self-hosted, linux, ARM64] | |
name: Focal | |
file: Dockerfile_JetPack | |
image: autonomy-jetpack | |
arch: arm64 | |
- os: [self-hosted, linux, ARM64] | |
name: JetPack | |
file: Dockerfile_Jammy | |
image: autonomy-jammy | |
arch: amd64 | |
- os: [self-hosted, linux, ARM64] | |
name: JetPack | |
file: Dockerfile_Jammy | |
image: autonomy-jammy | |
arch: arm64 | |
- os: [self-hosted, linux, ARM64] | |
name: JetPack | |
file: Dockerfile_Jammy | |
image: autonomy-focal | |
arch: amd64 | |
- os: [self-hosted, linux, ARM64] | |
name: JetPack | |
file: Dockerfile_Jammy | |
image: autonomy-focal | |
arch: arm64 | |
- os: [self-hosted, linux, ARM64] | |
name: JetPack | |
file: Dockerfile_Jammy | |
image: autonomy-jetpack | |
arch: amd64 | |
- os: [self-hosted, linux, ARM64] | |
name: JetPack | |
file: Dockerfile_Jammy | |
image: autonomy-jetpack | |
arch: arm64 | |
- os: [self-hosted, linux, ARM64] | |
name: JetPack | |
file: Dockerfile_Focal | |
image: autonomy-jammy | |
arch: amd64 | |
- os: [self-hosted, linux, ARM64] | |
name: JetPack | |
file: Dockerfile_Focal | |
image: autonomy-jammy | |
arch: arm64 | |
- os: [self-hosted, linux, ARM64] | |
name: JetPack | |
file: Dockerfile_Focal | |
image: autonomy-focal | |
arch: amd64 | |
- os: [self-hosted, linux, ARM64] | |
name: JetPack | |
file: Dockerfile_Focal | |
image: autonomy-focal | |
arch: arm64 | |
- os: [self-hosted, linux, ARM64] | |
name: JetPack | |
file: Dockerfile_Focal | |
image: autonomy-jetpack | |
arch: amd64 | |
- os: [self-hosted, linux, ARM64] | |
name: JetPack | |
file: Dockerfile_Focal | |
image: autonomy-jetpack | |
arch: arm64 | |
- os: [self-hosted, linux, ARM64] | |
name: JetPack | |
file: Dockerfile_JetPack | |
image: autonomy-jammy | |
arch: amd64 | |
- os: [self-hosted, linux, ARM64] | |
name: JetPack | |
file: Dockerfile_JetPack | |
image: autonomy-jammy | |
arch: arm64 | |
- os: [self-hosted, linux, ARM64] | |
name: JetPack | |
file: Dockerfile_JetPack | |
image: autonomy-focal | |
arch: amd64 | |
- os: [self-hosted, linux, ARM64] | |
name: JetPack | |
file: Dockerfile_JetPack | |
image: autonomy-focal | |
arch: arm64 | |
- os: [self-hosted, linux, ARM64] | |
name: JetPack | |
file: Dockerfile_JetPack | |
image: autonomy-jetpack | |
arch: amd64 | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Check for Edits | |
id: changed-files | |
uses: tj-actions/changed-files@v39 | |
with: | |
files_yaml: | | |
dev: | |
- ".devcontainer/${{ matrix.file }}" | |
- name: Get Current Date and Time | |
id: date | |
run: echo "::set-output name=date::$(date +'%Y-%m-%d-%H-%M-%S')" | |
- name: Set up Docker Buildx | |
if: steps.changed-files.outputs.dev_any_changed == 'true' | |
id: buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Login to Github Packages | |
if: steps.changed-files.outputs.dev_any_changed == 'true' | |
uses: docker/login-action@v2 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Build and Push ${{ matrix.name }} Image with Date Tag | |
if: ${{ ( github.event_name == 'pull_request' || ( github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/development' )) && steps.changed-files.outputs.dev_any_changed == 'true' }} | |
uses: docker/build-push-action@v5 | |
with: | |
context: ".devcontainer/" | |
file: ".devcontainer/${{ matrix.file }}" | |
tags: "ghcr.io/missourimrdt/${{ matrix.image }}:${{ steps.date.outputs.date }}" | |
platform: "linux/${{ matrix.arch }}" | |
push: true | |
- name: Build and Push ${{ matrix.name }} Image with Latest Tag | |
if: ${{ github.event_name == 'push' && steps.changed-files.outputs.dev_any_changed == 'true' }} | |
uses: docker/build-push-action@v5 | |
with: | |
context: ".devcontainer/" | |
file: ".devcontainer/${{ matrix.file }}" | |
tags: | | |
"ghcr.io/missourimrdt/${{ matrix.image }}:${{ steps.date.outputs.date }}" | |
"ghcr.io/missourimrdt/${{ matrix.image }}:latest" | |
platform: "linux/${{ matrix.arch }}" | |
push: true | |
- name: ${{ matrix.name }} Image digest | |
if: steps.changed-files.outputs.dev_any_changed == 'true' | |
run: echo ${{ steps.docker_build.outputs.digest }} |