add cpuProfile option #939
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: Docker build and push | |
on: | |
push: | |
branches: | |
- '*' | |
tags: | |
- 'v*' | |
env: | |
# TEST_TARGET: Name of the testing target in the Dockerfile | |
TEST_TARGET: testing | |
# DO_TEST - true to build and run unit tests, false to skip the tests | |
DO_TEST: true | |
# DO_PUSH - true to push to the HPE_DEPLOY_REPO, false to not push | |
DO_PUSH: true | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: "Build context" | |
run: | | |
echo "ref is ${{ github.ref }}" | |
echo "ref_type is ${{ github.ref_type }}" | |
- name: "Checkout repository" | |
id: checkout_repo | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: "Lowercase repository name for docker build" | |
id: lowercase-repository-name | |
run: echo "REPO_NAME=$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV | |
- name: "Set tags for main/master" | |
id: set_tags | |
run: | | |
echo "VERSION_TAG=$(./git-version-gen | grep -v UNKNOWN)" >> ${GITHUB_ENV} | |
echo "TEST_TAG=$(git rev-parse HEAD)-test" >> ${GITHUB_ENV} | |
echo "SHA_TAG=$(git rev-parse HEAD)" >> ${GITHUB_ENV} | |
echo "${GITHUB_ENV}:" | |
cat ${GITHUB_ENV} | |
shell: bash | |
- name: "Docker metadata" | |
id: meta | |
uses: docker/metadata-action@v4 | |
with: | |
images: | | |
ghcr.io/${{ env.REPO_NAME }} | |
tags: | | |
# For merge to master branch, tag example: 'master' | |
type=ref,event=branch | |
# For PR event, tag example: 'pr-3' | |
type=ref,event=pr | |
# For PR event or merge event, tag example: 1.0.1.12-5667 | |
type=raw,value=${{ env.VERSION_TAG }} | |
# For PR event or merge, tag example: 566769e04d2436cf5f42ae4f46092c7dff6e668e | |
type=raw,value=${{ env.SHA_TAG }} | |
# For push to semver tag, tag example: 1.0.2 | |
# This also sets 'latest'. | |
type=semver,pattern={{version}} | |
# For push to semver tag, tag example: 1.0 | |
type=semver,pattern={{major}}.{{minor}} | |
- name: "Docker login" | |
id: docker_login | |
uses: docker/login-action@v1 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: "Build the test Docker image" | |
id: docker_build_test_target | |
if: ${{ env.DO_TEST == 'true' }} | |
uses: docker/build-push-action@v2 | |
with: | |
push: false | |
target: ${{ env.TEST_TARGET }} | |
tags: ${{ env.REPO_NAME }}:${{ env.TEST_TAG }} | |
- name: "Run the Docker image unit tests" | |
id: docker_test | |
if: ${{ env.DO_TEST == 'true' }} | |
run: docker run ${{ env.REPO_NAME }}:${{ env.TEST_TAG }} | |
- name: "Build the final Docker image" | |
id: docker_build | |
uses: docker/build-push-action@v3 | |
with: | |
push: true | |
tags: ${{ steps.meta.outputs.tags }} | |