mirror of
https://github.com/OpenBankProject/OBP-API.git
synced 2026-02-06 13:46:49 +00:00
83 lines
3.5 KiB
YAML
83 lines
3.5 KiB
YAML
name: Build and publish container non develop
|
|
|
|
# read-write repo token
|
|
# access to secrets
|
|
on:
|
|
workflow_run:
|
|
workflows: [build maven artifact]
|
|
branches:
|
|
- '*'
|
|
- '!develop'
|
|
types:
|
|
- completed
|
|
|
|
env:
|
|
## Sets environment variable
|
|
DOCKER_HUB_ORGANIZATION: ${{ vars.DOCKER_HUB_ORGANIZATION }}
|
|
DOCKER_HUB_REPOSITORY: obp-api
|
|
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
if: ${{ github.event.workflow_run.conclusion == 'success' }}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: 'Download artifact'
|
|
uses: actions/github-script@v7
|
|
with:
|
|
script: |
|
|
var artifacts = await github.rest.actions.listWorkflowRunArtifacts({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
run_id: ${{github.event.workflow_run.id }},
|
|
});
|
|
var matchArtifact = artifacts.data.artifacts.filter((artifact) => {
|
|
return artifact.name == "push"
|
|
})[0];
|
|
var download = await github.rest.actions.downloadArtifact({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
artifact_id: matchArtifact.id,
|
|
archive_format: 'zip',
|
|
});
|
|
var fs = require('fs');
|
|
fs.writeFileSync('${{github.workspace}}/push.zip', Buffer.from(download.data));
|
|
- run: unzip push.zip
|
|
|
|
- name: prepare the artifact
|
|
run: |
|
|
mkdir -p obp-api/target/
|
|
cp obp-api-1.10.1.war obp-api/target/obp-api-1.10.1.war
|
|
|
|
- name: Build the Docker image
|
|
run: |
|
|
echo "${{ secrets.DOCKER_HUB_TOKEN }}" | docker login -u "${{ secrets.DOCKER_HUB_USERNAME }}" --password-stdin docker.io
|
|
docker build . --file .github/Dockerfile_PreBuild --tag docker.io/${{ env.DOCKER_HUB_ORGANIZATION }}/${{ env.DOCKER_HUB_REPOSITORY }}:$GITHUB_SHA --tag docker.io/${{ env.DOCKER_HUB_ORGANIZATION }}/${{ env.DOCKER_HUB_REPOSITORY }}:${GITHUB_REF##*/}
|
|
docker build . --file .github/Dockerfile_PreBuild_OC --tag docker.io/${{ env.DOCKER_HUB_ORGANIZATION }}/${{ env.DOCKER_HUB_REPOSITORY }}:$GITHUB_SHA-OC --tag docker.io/${{ env.DOCKER_HUB_ORGANIZATION }}/${{ env.DOCKER_HUB_REPOSITORY }}:latest-OC --tag docker.io/${{ env.DOCKER_HUB_ORGANIZATION }}/${{ env.DOCKER_HUB_REPOSITORY }}:${GITHUB_REF##*/}-OC
|
|
docker push docker.io/${{ env.DOCKER_HUB_ORGANIZATION }}/${{ env.DOCKER_HUB_REPOSITORY }} --all-tags
|
|
echo docker done
|
|
|
|
- uses: sigstore/cosign-installer@main
|
|
|
|
- name: Write signing key to disk (only needed for `cosign sign --key`)
|
|
run: echo "${{ secrets.COSIGN_PRIVATE_KEY }}" > cosign.key
|
|
|
|
- name: Sign container image
|
|
run: |
|
|
cosign sign -y --key cosign.key \
|
|
docker.io/${{ env.DOCKER_HUB_ORGANIZATION }}/${{ env.DOCKER_HUB_REPOSITORY }}:develop
|
|
cosign sign -y --key cosign.key \
|
|
docker.io/${{ env.DOCKER_HUB_ORGANIZATION }}/${{ env.DOCKER_HUB_REPOSITORY }}:latest
|
|
cosign sign -y --key cosign.key \
|
|
docker.io/${{ env.DOCKER_HUB_ORGANIZATION }}/${{ env.DOCKER_HUB_REPOSITORY }}:$GITHUB_SHA
|
|
cosign sign -y --key cosign.key \
|
|
docker.io/${{ env.DOCKER_HUB_ORGANIZATION }}/${{ env.DOCKER_HUB_REPOSITORY }}:develop-OC
|
|
cosign sign -y --key cosign.key \
|
|
docker.io/${{ env.DOCKER_HUB_ORGANIZATION }}/${{ env.DOCKER_HUB_REPOSITORY }}:latest-OC
|
|
env:
|
|
COSIGN_PASSWORD: "${{secrets.COSIGN_PASSWORD}}"
|
|
|
|
|
|
|