Retain Docker node18 to prevent serendipity (#69) #130
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: Docker Image CI | |
on: | |
push: | |
branches: [main] | |
tags: [v*] | |
pull_request: | |
branches: [main] | |
jobs: | |
api: | |
name: build API Server image | |
if: startsWith(github.ref, 'refs/tags/') | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check Out Repo | |
uses: actions/checkout@v3 | |
- name: Login to Docker Hub | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKER_HUB_USERNAME }} | |
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | |
- name: Set lowercase GitHub owner name | |
run: | | |
echo "OWNER_LC=${OWNER,,}" >> ${GITHUB_ENV} | |
env: | |
OWNER: "${{ github.repository_owner }}" | |
- name: Login to GitHub Container Registry | |
uses: docker/login-action@v2 | |
with: | |
registry: ghcr.io | |
username: ${{ env.OWNER_LC }} | |
password: ${{ secrets.GH_TOKEN }} | |
- name: Cache Docker layers | |
uses: actions/cache@v2 | |
with: | |
path: /tmp/.buildx-cache | |
key: ${{ runner.os }}-buildx-${{ github.sha }} | |
restore-keys: | | |
${{ runner.os }}-buildx- | |
- name: Set up Docker Buildx | |
id: buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Set lowercase GitHub repository name | |
run: | | |
echo "REPOSITORY_LC=${REPOSITORY,,}" >> ${GITHUB_ENV} | |
env: | |
REPOSITORY: "${{ github.repository }}" | |
- name: Set correct DockerHub repository name | |
run: | | |
echo "DOCKERHUB_REPOSITORY_LC=${DOCKERHUB_USERNAME,,}/${REPOSITORY#*/}" >> ${GITHUB_ENV} | |
env: | |
DOCKERHUB_USERNAME: "${{ secrets.DOCKER_HUB_USERNAME}}" | |
REPOSITORY: "${{ github.repository }}" | |
- name: Build and push | |
id: docker_build | |
uses: docker/build-push-action@v4 | |
with: | |
context: ./ | |
file: ./Dockerfile | |
builder: ${{ steps.buildx.outputs.name }} | |
push: true | |
tags: | | |
${{ env.DOCKERHUB_REPOSITORY_LC }}:${{ github.ref_name }} | |
ghcr.io/${{ env.REPOSITORY_LC }}:${{ github.ref_name }} | |
cache-from: type=local,src=/tmp/.buildx-cache | |
cache-to: type=local,dest=/tmp/.buildx-cache | |
- name: Image digest | |
run: echo ${{ steps.docker_build.outputs.digest }} |