Skip to content

Commit

Permalink
feature: add explicit docker image creation during release process (#251
Browse files Browse the repository at this point in the history
)

* chore: Add 0.3.3 to, and fix markdown in CHANGELOG.md (#252)

* feat(release): add explicit docker build job to release

* simplify matrix
  • Loading branch information
paullatzelsperger authored Apr 21, 2023
1 parent 524914b commit 69e84e9
Show file tree
Hide file tree
Showing 4 changed files with 65 additions and 117 deletions.
45 changes: 12 additions & 33 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -81,51 +81,31 @@ jobs:
GITHUB_PACKAGE_USERNAME: ${{ github.actor }}
GITHUB_PACKAGE_PASSWORD: ${{ secrets.GITHUB_TOKEN }}

build-controlplane:
name: "Create Docker Images for the ControlPlane"
build-docker-images:
name: "Create Docker Images"
runs-on: ubuntu-latest
needs: [ secret-presence ]
if: |
needs.secret-presence.outputs.DOCKER_HUB_TOKEN
strategy:
fail-fast: false
matrix:
name:
- edc-runtime-memory
- edc-controlplane-memory-hashicorp-vault
- edc-controlplane-postgresql
- edc-controlplane-postgresql-hashicorp-vault
variant: [ { dir: edc-controlplane, img: edc-runtime-memory },
{ dir: edc-controlplane, img: edc-controlplane-memory-hashicorp-vault },
{ dir: edc-controlplane, img: edc-controlplane-postgresql-hashicorp-vault },
{ dir: edc-controlplane, img: edc-controlplane-postgresql },
{ dir: edc-dataplane, img: edc-dataplane-azure-vault },
{ dir: edc-dataplane, img: edc-dataplane-hashicorp-vault } ]
permissions:
contents: write
steps:
- uses: actions/checkout@v3.3.0
- uses: ./.github/actions/publish-docker-image
name: Publish ${{ matrix.variant.img }}
with:
rootDir: edc-controlplane/${{ matrix.name }}
imagename: ${{ matrix.name }}
docker_user: ${{ secrets.DOCKER_HUB_USER }}
docker_token: ${{ secrets.DOCKER_HUB_TOKEN }}

build-dataplane:
name: "Create Docker Images for the DataPlane"
runs-on: ubuntu-latest
needs: [ secret-presence ]
if: |
needs.secret-presence.outputs.DOCKER_HUB_TOKEN
strategy:
fail-fast: false
matrix:
name:
- edc-dataplane-azure-vault
- edc-dataplane-hashicorp-vault
permissions:
contents: write
steps:
- uses: actions/checkout@v3.3.0
- uses: ./.github/actions/publish-docker-image
with:
rootDir: edc-dataplane/${{ matrix.name }}
imagename: ${{ matrix.name }}
docker_tag: ${{ needs.release-version.outputs.RELEASE_VERSION }}
rootDir: ${{ matrix.variant.dir }}/${{ matrix.variant.img }}
imagename: ${{ matrix.variant.img }}
docker_user: ${{ secrets.DOCKER_HUB_USER }}
docker_token: ${{ secrets.DOCKER_HUB_TOKEN }}

Expand Down Expand Up @@ -159,4 +139,3 @@ jobs:
REPO: ${{ github.repository }}
GITHUB_PACKAGE_USERNAME: ${{ github.actor }}
GITHUB_PACKAGE_PASSWORD: ${{ secrets.GITHUB_TOKEN }}

44 changes: 11 additions & 33 deletions .github/workflows/publish-docker.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,51 +38,29 @@ concurrency:
cancel-in-progress: true

jobs:
create-docker-image-controlplane:
create-docker-image:
name: "Create Docker Images for the ControlPlane"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
name:
- edc-runtime-memory
- edc-controlplane-memory-hashicorp-vault
- edc-controlplane-postgresql
- edc-controlplane-postgresql-hashicorp-vault
variant: [ { dir: edc-controlplane, img: edc-runtime-memory },
{ dir: edc-controlplane, img: edc-controlplane-memory-hashicorp-vault },
{ dir: edc-controlplane, img: edc-controlplane-postgresql-hashicorp-vault },
{ dir: edc-controlplane, img: edc-controlplane-postgresql },
{ dir: edc-dataplane, img: edc-dataplane-azure-vault },
{ dir: edc-dataplane, img: edc-dataplane-hashicorp-vault } ]
permissions:
contents: write
packages: write
steps:
- uses: actions/checkout@v3.3.0
- uses: ./.github/actions/publish-docker-image
name: Publish ${{ matrix.variant.img }}
with:
docker_tag: ${{ inputs.docker_tag }}
rootDir: edc-controlplane/${{ matrix.name }}
imagename: ${{ matrix.name }}
docker_tag: ${{ needs.release-version.outputs.RELEASE_VERSION }}
rootDir: ${{ matrix.variant.dir }}/${{ matrix.variant.img }}
imagename: ${{ matrix.variant.img }}
namespace: ${{ inputs.namespace }}
docker_user: ${{ secrets.DOCKER_HUB_USER }}
docker_token: ${{ secrets.DOCKER_HUB_TOKEN }}


create-docker-image-dataplane:
name: "Create Docker Images for the DataPlane"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
name:
- edc-dataplane-azure-vault
- edc-dataplane-hashicorp-vault
permissions:
contents: write
packages: write
steps:
- uses: actions/checkout@v3.3.0
- uses: ./.github/actions/publish-docker-image
with:
docker_tag: ${{ inputs.docker_tag }}
rootDir: edc-dataplane/${{ matrix.name }}
imagename: ${{ matrix.name }}
namespace: ${{ inputs.namespace }}
docker_user: ${{ secrets.DOCKER_HUB_USER }}
docker_token: ${{ secrets.DOCKER_HUB_TOKEN }}
29 changes: 29 additions & 0 deletions .github/workflows/publish-new-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,35 @@ jobs:
GITHUB_PACKAGE_USERNAME: ${{ github.actor }}
GITHUB_PACKAGE_PASSWORD: ${{ secrets.GITHUB_TOKEN }}

docker-release:
name: Publish Docker images
runs-on: ubuntu-latest
needs: [ release-version ]
permissions:
contents: write
if: github.event.pull_request.merged == true && needs.release-version.outputs.RELEASE_VERSION

strategy:
fail-fast: false
matrix:
variant: [{dir: edc-controlplane, img: edc-runtime-memory},
{dir: edc-controlplane, img: edc-controlplane-memory-hashicorp-vault},
{dir: edc-controlplane, img: edc-controlplane-postgresql-hashicorp-vault},
{dir: edc-controlplane, img: edc-controlplane-postgresql},
{dir: edc-dataplane, img: edc-dataplane-azure-vault},
{dir: edc-dataplane, img: edc-dataplane-hashicorp-vault}]

steps:
- uses: actions/checkout@v3.3.0
- uses: ./.github/actions/publish-docker-image
name: Publish ${{ matrix.variant.img }}
with:
docker_tag: ${{ needs.release-version.outputs.RELEASE_VERSION }}
rootDir: ${{ matrix.variant.dir }}/${{ matrix.variant.img }}
imagename: ${{ matrix.variant.img }}
docker_user: ${{ secrets.DOCKER_HUB_USER }}
docker_token: ${{ secrets.DOCKER_HUB_TOKEN }}

# Release: Helm Charts
helm-release:
name: Publish new helm release
Expand Down
64 changes: 13 additions & 51 deletions .github/workflows/veracode.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,81 +30,43 @@ jobs:
- name: Verify proper formatting
run: ./gradlew spotlessCheck

build-controlplane:
build:
runs-on: ubuntu-latest
needs: [ secret-presence, verify-formatting ]
permissions:
contents: read
strategy:
fail-fast: false
matrix:
name:
- edc-runtime-memory
- edc-controlplane-memory-hashicorp-vault
- edc-controlplane-postgresql
- edc-controlplane-postgresql-hashicorp-vault
variant: [ { dir: edc-controlplane, name: edc-runtime-memory },
{ dir: edc-controlplane, name: edc-controlplane-memory-hashicorp-vault },
{ dir: edc-controlplane, name: edc-controlplane-postgresql-hashicorp-vault },
{ dir: edc-controlplane, name: edc-controlplane-postgresql },
{ dir: edc-dataplane, name: edc-dataplane-azure-vault },
{ dir: edc-dataplane, name: edc-dataplane-hashicorp-vault } ]
steps:
# Set-Up
- uses: actions/checkout@v3.3.0
- uses: ./.github/actions/setup-java
# Build
- name: Build Controlplane
- name: Build ${{ matrix.variant.name }}
run: |-
./gradlew -p edc-controlplane/${{ matrix.name }} shadowJar
./gradlew -p ${{ matrix.variant.dir }}/${{ matrix.variant.name }} shadowJar
env:
GITHUB_PACKAGE_USERNAME: ${{ github.actor }}
GITHUB_PACKAGE_PASSWORD: ${{ secrets.GITHUB_TOKEN }}
- name: Tar gzip files for veracode upload
run: |-
tar -czvf edc-controlplane/${{ matrix.name }}/build/libs/${{ matrix.name }}.tar.gz edc-controlplane/${{ matrix.name }}/build/libs/${{ matrix.name }}.jar
tar -czvf ${{ matrix.variant.dir }}/${{ matrix.variant.name }} /build/libs/${{ matrix.variant.name }}.tar.gz ${{ matrix.variant.dir }}/${{ matrix.variant.name }}/build/libs/${{ matrix.variant.name }}.jar
- name: Veracode Upload And Scan
uses: veracode/veracode-uploadandscan-action@v1.0
if: |
needs.secret-presence.outputs.ORG_VERACODE_API_ID && needs.secret-presence.outputs.ORG_VERACODE_API_KEY
continue-on-error: true
with:
appname: product-edc/${{ matrix.name }}
appname: product-edc/${{ matrix.variant.name }}
createprofile: true
version: ${{ matrix.name }}-${{ github.sha }}
filepath: edc-controlplane/${{ matrix.name }}/build/libs/${{ matrix.name }}.tar.gz
version: ${{ matrix.variant.name }}-${{ github.sha }}
filepath: ${{ matrix.variant.dir }}/${{ matrix.variant.name }}/build/libs/${{ matrix.variant.name }}.tar.gz
vid: ${{ secrets.ORG_VERACODE_API_ID }}
vkey: ${{ secrets.ORG_VERACODE_API_KEY }}

build-dataplane:
runs-on: ubuntu-latest
needs: [ secret-presence, verify-formatting ]
permissions:
contents: read
strategy:
fail-fast: false
matrix:
name:
- edc-dataplane-azure-vault
- edc-dataplane-hashicorp-vault
steps:
# Set-Up
- uses: actions/checkout@v3.3.0
- uses: ./.github/actions/setup-java
# Build
- name: Build Dataplane
run: |-
./gradlew -p edc-dataplane/${{ matrix.name }} shadowJar
env:
GITHUB_PACKAGE_USERNAME: ${{ github.actor }}
GITHUB_PACKAGE_PASSWORD: ${{ secrets.GITHUB_TOKEN }}
- name: Tar gzip files for veracode upload
run: |-
tar -czvf edc-dataplane/${{ matrix.name }}/build/libs/${{ matrix.name }}.tar.gz edc-dataplane/${{ matrix.name }}/build/libs/${{ matrix.name }}.jar
- name: Veracode Upload And Scan
uses: veracode/veracode-uploadandscan-action@v1.0
if: |
needs.secret-presence.outputs.ORG_VERACODE_API_ID && needs.secret-presence.outputs.ORG_VERACODE_API_KEY
continue-on-error: true
with:
appname: product-edc/${{ matrix.name }}
createprofile: true
version: ${{ matrix.name }}-${{ github.sha }}
filepath: edc-dataplane/${{ matrix.name }}/build/libs/${{ matrix.name }}.tar.gz
vid: ${{ secrets.ORG_VERACODE_API_ID }}
vkey: ${{ secrets.ORG_VERACODE_API_KEY }}

0 comments on commit 69e84e9

Please sign in to comment.