From b492f6b24d65c850d09ab04a51f975fbb5287549 Mon Sep 17 00:00:00 2001 From: JS Fillman Date: Fri, 9 Oct 2020 17:02:53 -0700 Subject: [PATCH 1/3] Adding script to build `narrative-truss:latest` on any push to `truss` branch --- .github/workflows/ReleaseCycleProposal.md | 4 ++-- .github/workflows/build_truss_push.yaml | 23 +++++++++++++++++++ .github/workflows/scripts/build_truss_push.sh | 14 +++++++++++ 3 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/build_truss_push.yaml create mode 100755 .github/workflows/scripts/build_truss_push.sh diff --git a/.github/workflows/ReleaseCycleProposal.md b/.github/workflows/ReleaseCycleProposal.md index e4c554c9ee..3b0f9fb88f 100644 --- a/.github/workflows/ReleaseCycleProposal.md +++ b/.github/workflows/ReleaseCycleProposal.md @@ -1,7 +1,7 @@ -## New PR & Testing Process Proposal +# New PR & Testing Process Proposal -### Goals +## Goals Design a development process and write related automation that: diff --git a/.github/workflows/build_truss_push.yaml b/.github/workflows/build_truss_push.yaml new file mode 100644 index 0000000000..cbd70c44cd --- /dev/null +++ b/.github/workflows/build_truss_push.yaml @@ -0,0 +1,23 @@ +--- +name: Build Truss Image Push +'on': + push: + branches: + - truss +jobs: + docker_build: + runs-on: ubuntu-latest + steps: + - name: Check out GitHub Repo + if: github.event.pull_request.draft == false + with: + ref: "${{ github.event.pull_request.head.sha }}" + uses: actions/checkout@v2 + - name: Build and Push to Packages + if: github.event.pull_request.draft == false + env: + PR: "${{ github.event.pull_request.number }}" + SHA: "${{ github.event.pull_request.head.sha }}" + DOCKER_ACTOR: "jsfillman" + DOCKER_TOKEN: "${{ secrets.GHCR_TOKEN }}" + run: "./.github/workflows/scripts/build_truss_push.sh\n" diff --git a/.github/workflows/scripts/build_truss_push.sh b/.github/workflows/scripts/build_truss_push.sh new file mode 100755 index 0000000000..8aef93f7ac --- /dev/null +++ b/.github/workflows/scripts/build_truss_push.sh @@ -0,0 +1,14 @@ +#! /usr/bin/env bash + +export MY_ORG=$(echo "${GITHUB_REPOSITORY}" | awk -F / '{print $1}') +export MY_APP=$(echo "${GITHUB_REPOSITORY}" | awk -F / '{print $2}')"-truss" +export DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ") +export BUILD_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ") +export COMMIT=$(echo "$SHA" | cut -c -7) + +docker login -u "$DOCKER_ACTOR" -p "$DOCKER_TOKEN" ghcr.io +docker build --build-arg BUILD_DATE="$DATE" \ + --build-arg COMMIT="$COMMIT" \ + --build-arg BRANCH="$GITHUB_HEAD_REF" \ + -t ghcr.io/"$MY_ORG"/"$MY_APP":"latest" . +docker push ghcr.io/"$MY_ORG"/"$MY_APP":"latest" From ad7347afb8218c980c35076dcd0031af048a4be4 Mon Sep 17 00:00:00 2001 From: Jason S Fillman <6155956+jsfillman@users.noreply.github.com> Date: Fri, 9 Oct 2020 17:14:11 -0700 Subject: [PATCH 2/3] Update ReleaseCycleProposal.md --- .github/workflows/ReleaseCycleProposal.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ReleaseCycleProposal.md b/.github/workflows/ReleaseCycleProposal.md index 3b0f9fb88f..e4c554c9ee 100644 --- a/.github/workflows/ReleaseCycleProposal.md +++ b/.github/workflows/ReleaseCycleProposal.md @@ -1,7 +1,7 @@ -# New PR & Testing Process Proposal +## New PR & Testing Process Proposal -## Goals +### Goals Design a development process and write related automation that: From 8e99a13d8bc80b15486a6f0c538e72dec580499f Mon Sep 17 00:00:00 2001 From: JS Fillman Date: Fri, 9 Oct 2020 18:20:08 -0700 Subject: [PATCH 3/3] Removing truss tag on merge --- .github/workflows/scripts/tag_truss_latest.sh | 12 --------- .github/workflows/tag_truss_latest.yaml | 26 ------------------- 2 files changed, 38 deletions(-) delete mode 100755 .github/workflows/scripts/tag_truss_latest.sh delete mode 100644 .github/workflows/tag_truss_latest.yaml diff --git a/.github/workflows/scripts/tag_truss_latest.sh b/.github/workflows/scripts/tag_truss_latest.sh deleted file mode 100755 index 6df54aff43..0000000000 --- a/.github/workflows/scripts/tag_truss_latest.sh +++ /dev/null @@ -1,12 +0,0 @@ -#! /usr/bin/env bash - -export MY_ORG=$(echo "${GITHUB_REPOSITORY}" | awk -F / '{print $1}') -export MY_APP=$(echo $(echo "${GITHUB_REPOSITORY}" | awk -F / '{print $2}')"-truss") -export DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ") -export BUILD_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ") -export COMMIT=$(echo "$SHA" | cut -c -7) - -docker login -u "$DOCKER_ACTOR" -p "$DOCKER_TOKEN" ghcr.io -docker pull ghcr.io/"$MY_ORG"/"$MY_APP":"pr-""$PR" -docker tag ghcr.io/"$MY_ORG"/"$MY_APP":"pr-""$PR" ghcr.io/"$MY_ORG"/"$MY_APP":"latest" -docker push ghcr.io/"$MY_ORG"/"$MY_APP":"latest" diff --git a/.github/workflows/tag_truss_latest.yaml b/.github/workflows/tag_truss_latest.yaml deleted file mode 100644 index a44ab761c0..0000000000 --- a/.github/workflows/tag_truss_latest.yaml +++ /dev/null @@ -1,26 +0,0 @@ ---- -name: Tag Latest Test Image -'on': - pull_request: - branches: - - truss - types: - - closed -jobs: - docker_tag: - runs-on: ubuntu-latest - steps: - - name: Check out GitHub Repo - if: github.event_name == 'pull_request' && github.event.action == 'closed' && - github.event.pull_request.merged == true - with: - ref: "${{ github.event.pull_request.head.sha }}" - uses: actions/checkout@v2 - - name: Build and Push to Packages - if: github.event.pull_request.draft == false - env: - PR: "${{ github.event.pull_request.number }}" - SHA: "${{ github.event.pull_request.head.sha }}" - DOCKER_ACTOR: "jsfillman" - DOCKER_TOKEN: "${{ secrets.GHCR_TOKEN }}" - run: "./.github/workflows/scripts/tag_truss_latest.sh\n"