Move CI management from lampepfl/dotty-ci #1
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 & Deploy the CI image for Dotty | |
on: | |
## Trigger this workflow when a change is detected in the Dockerfile | |
## or in the following file | |
push: | |
branches: | |
- main | |
paths: | |
- .github/Dockerfile | |
- .github/workflows/dotty-ci-container.yaml | |
pull_request: | |
paths: | |
- .github/Dockerfile | |
- .github/workflows/dotty-ci-container.yaml | |
concurrency: | |
group: dotty-ci-build | |
cancel-in-progress: false | |
permissions: | |
contents: read | |
packages: write | |
env: | |
##REGISTRY: ghcr.io | |
IMAGE_NAME: ${{ github.repository }}/dotty-ci | |
jobs: | |
build_and_deploy: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the repository | |
uses: actions/checkout@v4 | |
- uses: docker/setup-buildx-action@v3 | |
#- name: Log in to the registry | |
# uses: docker/login-action@v3 | |
# with: | |
# registry: ${{ env.REGISTRY }} | |
# username: ${{ github.actor }} | |
# password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Extract metadata for the image | |
uses: docker/metadata-action@v5 | |
id: metadata | |
with: | |
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} | |
## TODO: Should we use the short SHA instead? | |
tags: | | |
type=schedule,pattern={{date 'YYYY-MM-DD'}} | |
## Build when triggered by a pull_request | |
- name: Build the image | |
uses: docker/build-push-action@v5 | |
if: github.event_name == 'pull_request' | |
with: | |
context: .github | |
push: false | |
tags: ${{ steps.metadata.outputs.tags }} | |
labels: ${{ steps.metadata.outputs.labels }} | |
platforms: linux/amd64 | |
## Build and push when triggered by a push to the default branch | |
- name: Build and push the image | |
uses: docker/build-push-action@v5 | |
if: github.event_name == 'push' | |
with: | |
context: .github | |
push: true | |
tags: ${{ steps.metadata.outputs.tags }} | |
labels: ${{ steps.metadata.outputs.labels }} | |
platforms: linux/amd64 |