Skip to content

Build and run unit tests for Math Component project as part of FPrime Projects CI #366

Build and run unit tests for Math Component project as part of FPrime Projects CI

Build and run unit tests for Math Component project as part of FPrime Projects CI #366

Workflow file for this run

# This is a basic workflow to help you get started with Actions
name: Build and Publish to GHCR
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the develop branch
push:
paths-ignore:
- 'devResources/**'
- 'docker-compose.yml'
- '.gitignore'
- 'LICENSE.md'
- 'README.md'
pull_request:
branches: [ main ]
paths-ignore:
- 'devResources/**'
- 'docker-compose.yml'
- '.gitignore'
- 'LICENSE.md'
- 'README.md'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
if: "!contains(github.event.head_commit.message, 'skip ci')"
# The type of runner that the job will run on
runs-on: ubuntu-latest
permissions:
packages: write
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Checkout github repo
uses: actions/checkout@v4
- name: Workaround to free up 5GB of space # see https://github.com/actions/runner-images/issues/709#issuecomment-612569242
run: sudo rm -rf "/usr/local/share/boost" && sudo rm -rf "$AGENT_TOOLSDIRECTORY"
- name: Show disk usage
run: df -h
- name: Docker meta
id: docker_meta
uses: docker/metadata-action@v4
with:
images: ghcr.io/${{ github.repository }}
tags: |
type=sha
type=ref,event=branch
type=ref,event=pr
type=ref,event=tag
- name: Login to GHCR
uses: docker/login-action@v2.1.0
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Show disk usage
run: df -h
- name: Build image
uses: docker/build-push-action@v5
with:
tags: ${{ steps.docker_meta.outputs.tags }}
file: ./Dockerfile
- name: Show disk usage
run: df -h
- name: Push image
uses: docker/build-push-action@v5
with:
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.docker_meta.outputs.tags }}
file: ./Dockerfile