From b12f1d06f6e470efce70f70d02d5b10af6e319ae Mon Sep 17 00:00:00 2001 From: Alexander Blair Date: Wed, 24 Apr 2024 21:37:54 +0100 Subject: [PATCH] Add GitHub workflows from Apollo --- .github/workflows/main.yml | 30 ++++++++++++++ .github/workflows/weekly_build.yml | 63 ++++++++++++++++++++++++++++++ 2 files changed, 93 insertions(+) create mode 100644 .github/workflows/main.yml create mode 100644 .github/workflows/weekly_build.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 00000000..2792d3b3 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,30 @@ +name: BuildTest +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + docker-build-test-ubuntu: + runs-on: ubuntu-latest + name: BuildTestUbuntu + env: + PRCOMMITSHA : ${{ github.event.pull_request.head.sha }} + PRREPOSITORY: ${{ github.event.pull_request.head.repo.full_name }} + steps: + # First check out the repository to get the docker file + - name: Checkout + uses: actions/checkout@v2 + # Print the context for this GitHub workflow + - name: PrintGithubContext + run: echo ${PRCOMMITSHA:-$GITHUB_SHA} ${PRREPOSITORY:-$GITHUB_REPOSITORY} + # Now build in a container with all deps + - name: DockerBuildTest + run: | + docker build -t ci-platypus-ubuntu \ + --build-arg build_git_sha=${PRCOMMITSHA:-$GITHUB_SHA} \ + --build-arg build_git_repo=${PRREPOSITORY:-$GITHUB_REPOSITORY} \ + docker/platypus diff --git a/.github/workflows/weekly_build.yml b/.github/workflows/weekly_build.yml new file mode 100644 index 00000000..cf78d9f7 --- /dev/null +++ b/.github/workflows/weekly_build.yml @@ -0,0 +1,63 @@ +name: Publish Docker Images +on: + workflow_dispatch: + schedule: + # Schedule to update image every Monday morning at 04:00. + - cron: '00 4 * * 1' + +jobs: + push-platypus-deps-image-to-docker-hub: + name: DockerPublishPlatypusDeps + runs-on: ubuntu-latest + steps: + - name: Check out the repo + uses: actions/checkout@v3 + + - name: Log in to Docker Hub + uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 + with: + images: alexanderianblair/platypus-deps + + - name: Build and push Docker image + uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc + with: + context: docker/platypus-deps/ + file: docker/platypus-deps/Dockerfile + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + + push-platypus-image-to-docker-hub: + name: DockerPublishPlatypus + runs-on: ubuntu-latest + steps: + - name: Check out the repo + uses: actions/checkout@v3 + + - name: Log in to Docker Hub + uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 + with: + images: alexanderianblair/platypus + + - name: Build and push Docker image + uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc + with: + context: docker/platypus/ + file: docker/platypus/Dockerfile + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }}