Skip to content

Commit

Permalink
CI: set kosli-trail env-var at top level (#116)
Browse files Browse the repository at this point in the history
  • Loading branch information
JonJagger committed Jan 26, 2024
1 parent 65fa14d commit ec5886f
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 32 deletions.
27 changes: 11 additions & 16 deletions .github/workflows/trails.yml
Expand Up @@ -11,6 +11,7 @@ env:
KOSLI_ORG: cyber-dojo-trails
KOSLI_FLOW: ${{ vars.KOSLI_FLOW }} # dashboard
KOSLI_API_TOKEN: ${{ secrets.KOSLI_API_TOKEN_TRAILS }}
KOSLI_TRAIL: ${{ github.sha }}


jobs:
Expand All @@ -20,7 +21,6 @@ jobs:
outputs:
image_tag: ${{ steps.variables.outputs.image_tag }}
image_name: ${{ steps.variables.outputs.image_name }}
kosli_trail: ${{ steps.variables.outputs.kosli_trail }}
steps:
- uses: actions/checkout@v4

Expand All @@ -37,22 +37,19 @@ jobs:

- name: Begin Kosli Trail
run:
kosli begin trail "${GITHUB_SHA}"
kosli begin trail "${{ env.KOSLI_TRAIL }}"

- name: Set outputs
id: variables
run: |
IMAGE_TAG=${GITHUB_SHA:0:7}
echo "image_tag=${IMAGE_TAG}" >> ${GITHUB_OUTPUT}
echo "image_name=cyberdojo/${{ env.KOSLI_FLOW }}:${IMAGE_TAG}" >> ${GITHUB_OUTPUT}
echo "kosli_trail=${GITHUB_SHA}" >> ${GITHUB_OUTPUT}
lint:
needs: [kosli-trail]
runs-on: ubuntu-latest
env:
KOSLI_TRAIL: ${{ needs.kosli-trail.outputs.kosli_trail }}
steps:
- uses: actions/checkout@v4

Expand All @@ -66,14 +63,15 @@ jobs:
ruby-version: 3.2.0
bundler-cache: true

- name: Run Rubocop linter on source, report results to Kosli Trail
- name: Run Rubocop linter on source, attest results to Kosli Trail
env:
KOSLI_EVIDENCE_PATHS: /tmp/evidence/lint
run: |
KOSLI_EVIDENCE_PATHS=/tmp/evidence/lint
mkdir -p "${KOSLI_EVIDENCE_PATHS}"
gem install rubocop
mkdir -p "${KOSLI_EVIDENCE_PATHS}"
set +e
rubocop --raise-cop-error . > "${KOSLI_EVIDENCE_PATHS}"/rubocop.log
STATUS=$?
rubocop --raise-cop-error . | tee ${KOSLI_EVIDENCE_PATHS}/rubocop.log
STATUS=${PIPESTATUS[0]}
set -e
KOSLI_COMPLIANT=$([ ${STATUS} = 0 ] && echo true || echo false)
Expand All @@ -88,8 +86,6 @@ jobs:
pull-request:
needs: [kosli-trail]
runs-on: ubuntu-latest
env:
KOSLI_TRAIL: ${{ needs.kosli-trail.outputs.kosli_trail }}
permissions:
id-token: write
contents: write
Expand All @@ -102,7 +98,7 @@ jobs:
with:
version: ${{ vars.KOSLI_CLI_VERSION }}

- name: Report pull-request evidence to Kosli
- name: Attest pull-request evidence to Kosli
run:
kosli attest pullrequest github
--github-token="${{ secrets.GITHUB_TOKEN }}"
Expand Down Expand Up @@ -138,7 +134,7 @@ jobs:
with:
version: ${{ vars.KOSLI_CLI_VERSION }}

- name: Report image to Kosli flow
- name: Attest image to Kosli Trail
run:
kosli attest artifact "${IMAGE_NAME}"
--artifact-type=docker
Expand Down Expand Up @@ -167,7 +163,6 @@ jobs:
needs: [build-image, kosli-trail]
runs-on: ubuntu-latest
env:
KOSLI_TRAIL: ${{ needs.kosli-trail.outputs.kosli_trail }}
IMAGE_NAME: ${{ needs.kosli-trail.outputs.image_name }}
KOSLI_FINGERPRINT: ${{ needs.build-image.outputs.kosli_fingerprint }}
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
Expand All @@ -190,7 +185,7 @@ jobs:
--json-file-output=snyk.json
--policy-path=.snyk

- name: Report Snyk results to Kosli Trail
- name: Attest Snyk results to Kosli Trail
run:
kosli attest snyk "${IMAGE_NAME}"
--name=dashboard.snyk-scan
Expand Down
26 changes: 10 additions & 16 deletions .github/workflows/trails_staging.yml
Expand Up @@ -11,6 +11,7 @@ env:
KOSLI_ORG: cyber-dojo-trails
KOSLI_FLOW: ${{ vars.KOSLI_FLOW }} # dashboard
KOSLI_API_TOKEN: ${{ secrets.KOSLI_API_TOKEN_TRAILS_STAGING }}
KOSLI_TRAIL: ${{ github.sha }}


jobs:
Expand All @@ -20,7 +21,6 @@ jobs:
outputs:
image_tag: ${{ steps.variables.outputs.image_tag }}
image_name: ${{ steps.variables.outputs.image_name }}
kosli_trail: ${{ steps.variables.outputs.kosli_trail }}
steps:
- uses: actions/checkout@v4

Expand All @@ -37,22 +37,19 @@ jobs:

- name: Begin Kosli Trail
run:
kosli begin trail "${GITHUB_SHA}"
kosli begin trail "${{ env.KOSLI_TRAIL }}"

- name: Set outputs
id: variables
run: |
IMAGE_TAG=${GITHUB_SHA:0:7}
echo "image_tag=${IMAGE_TAG}" >> ${GITHUB_OUTPUT}
echo "image_name=cyberdojo/${{ env.KOSLI_FLOW }}:${IMAGE_TAG}" >> ${GITHUB_OUTPUT}
echo "kosli_trail=${GITHUB_SHA}" >> ${GITHUB_OUTPUT}
lint:
needs: [kosli-trail]
runs-on: ubuntu-latest
env:
KOSLI_TRAIL: ${{ needs.kosli-trail.outputs.kosli_trail }}
steps:
- uses: actions/checkout@v4

Expand All @@ -67,13 +64,14 @@ jobs:
bundler-cache: true

- name: Run Rubocop linter on source, report results to Kosli Trail
env:
KOSLI_EVIDENCE_PATHS: /tmp/evidence/lint
run: |
KOSLI_EVIDENCE_PATHS=/tmp/evidence/lint
mkdir -p "${KOSLI_EVIDENCE_PATHS}"
gem install rubocop
mkdir -p "${KOSLI_EVIDENCE_PATHS}"
set +e
rubocop --raise-cop-error . > "${KOSLI_EVIDENCE_PATHS}"/rubocop.log
STATUS=$?
rubocop --raise-cop-error . | tee "${KOSLI_EVIDENCE_PATHS}"/rubocop.log
STATUS=${PIPESTATUS[0]}
set -e
KOSLI_COMPLIANT=$([ ${STATUS} = 0 ] && echo true || echo false)
Expand All @@ -88,8 +86,6 @@ jobs:
pull-request:
needs: [kosli-trail]
runs-on: ubuntu-latest
env:
KOSLI_TRAIL: ${{ needs.kosli-trail.outputs.kosli_trail }}
permissions:
id-token: write
contents: write
Expand All @@ -102,7 +98,7 @@ jobs:
with:
version: ${{ vars.KOSLI_CLI_VERSION }}

- name: Report pull-request evidence to Kosli
- name: Attest pull-request evidence to Kosli Trail
run:
kosli attest pullrequest github
--github-token="${{ secrets.GITHUB_TOKEN }}"
Expand All @@ -113,7 +109,6 @@ jobs:
needs: [kosli-trail]
runs-on: ubuntu-latest
env:
KOSLI_TRAIL: ${{ needs.kosli-trail.outputs.kosli_trail }}
IMAGE_NAME: ${{ needs.kosli-trail.outputs.image_name }}
outputs:
kosli_fingerprint: ${{ steps.variables.outputs.kosli_fingerprint }}
Expand All @@ -129,7 +124,7 @@ jobs:
with:
version: ${{ vars.KOSLI_CLI_VERSION }}

- name: Report image to Kosli flow
- name: Attest image to Kosli Trail
run:
kosli attest artifact "${IMAGE_NAME}"
--artifact-type=docker
Expand Down Expand Up @@ -158,7 +153,6 @@ jobs:
needs: [build-image, kosli-trail]
runs-on: ubuntu-latest
env:
KOSLI_TRAIL: ${{ needs.kosli-trail.outputs.kosli_trail }}
IMAGE_NAME: ${{ needs.kosli-trail.outputs.image_name }}
KOSLI_FINGERPRINT: ${{ needs.build-image.outputs.kosli_fingerprint }}
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
Expand All @@ -181,7 +175,7 @@ jobs:
--json-file-output=snyk.json
--policy-path=.snyk

- name: Report Snyk results to Kosli Trail
- name: Attest Snyk results to Kosli Trail
run:
kosli attest snyk "${IMAGE_NAME}"
--name=dashboard.snyk-scan
Expand Down

0 comments on commit ec5886f

Please sign in to comment.