Skip to content

Merge pull request #14 from dbca-wa/feature/upgrade-ckan-2.10.6 #145

Merge pull request #14 from dbca-wa/feature/upgrade-ckan-2.10.6

Merge pull request #14 from dbca-wa/feature/upgrade-ckan-2.10.6 #145

Workflow file for this run

name: Create and publish a Docker image
on:
# Trigger the workflow on push on master, develop and tags
push:
branches:
- master
- develop
tags:
- "*"
# Trigger the workflow manually
workflow_dispatch:
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
jobs:
build-and-push-image:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
security-events: write
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Log in to the Container registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for Docker ckan image
id: meta_ckan
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-ckan
- name: Extract metadata (tags, labels) for Docker ckan worker image
id: meta_ckan_worker
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-ckan-worker
- name: CKAN Build and push Docker image
uses: docker/build-push-action@v5
with:
context: ./ckan
file: ./ckan/Dockerfile
push: true
tags: ${{ steps.meta_ckan.outputs.tags }}
- name: CKAN Worker Build and push Docker image
uses: docker/build-push-action@v5
with:
context: ./ckan
file: ./ckan/Dockerfile.worker
push: true
tags: ${{ steps.meta_ckan_worker.outputs.tags }}
build-args: CKAN_IMAGE=${{ steps.meta_ckan.outputs.tags }}
- name: Extract first tag
id: extract_first_tag
run: echo "::set-output name=first_tag::$(echo ${{ steps.meta_ckan.outputs.tags }} | cut -d ',' -f 1)"
- name: Use first tag
run: echo "Using image ref ghcr.io/dbca-wa/ckan-docker-ckan:${{ steps.extract_first_tag.outputs.first_tag }}"
- name: Run Trivy vuln scanner on CKAN image
uses: aquasecurity/[email protected]
with:
scan-type: "image"
image-ref: ${{ steps.extract_first_tag.outputs.first_tag }}
vuln-type: "os,library"
severity: "HIGH,CRITICAL"
format: "sarif"
output: "trivy-results.sarif"
- name: Upload Trivy scan results to GitHub Security tab
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: "trivy-results.sarif"