Merge pull request #20090 from NishkarshRaj/feature/openssf-security-enhancements

Addressing Security Concerns Raised by OpenSSF Scorecard
This commit is contained in:
Fredrik Adelöw
2023-10-17 13:58:32 +02:00
committed by GitHub
42 changed files with 399 additions and 93 deletions
+12 -1
View File
@@ -2,11 +2,22 @@ name: Automate area labels
on:
- pull_request_target
permissions:
contents: read
jobs:
triage:
permissions:
contents: read # for actions/labeler to determine modified files
pull-requests: write # for actions/labeler to add labels to PRs
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v4
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- uses: actions/labeler@v4.3.0
with:
repo-token: '${{ secrets.GITHUB_TOKEN }}'
sync-labels: true
@@ -22,7 +22,12 @@ jobs:
if: github.repository == 'backstage/backstage' && github.event.pull_request.user.login != 'backstage-service'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- uses: actions/checkout@v3.6.0
with:
# Fetch the commit that's merged into the base rather than the target ref
# This will let us diff only the contents of the PR, without fetching more history
+7 -2
View File
@@ -23,7 +23,12 @@ jobs:
if: github.repository == 'backstage/backstage' && github.event.pull_request.merged == true
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- uses: actions/checkout@v3.6.0
with:
ref: '${{ github.event.pull_request.merge_commit_sha }}'
@@ -39,7 +44,7 @@ jobs:
node generate.js ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }} > message.txt
- name: Post Message
uses: actions/github-script@v6
uses: actions/github-script@v6.4.1
env:
ISSUE_NUMBER: ${{ github.event.pull_request.number }}
with:
+12 -1
View File
@@ -4,11 +4,22 @@ on:
schedule:
- cron: '*/10 * * * *' # run every 10 minutes as it also removes labels.
permissions:
contents: read
jobs:
stale:
permissions:
issues: write # for actions/stale to close stale issues
pull-requests: write # for actions/stale to close stale PRs
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v7
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- uses: actions/stale@v7.0.0
id: stale
with:
stale-issue-message: >
+13
View File
@@ -7,6 +7,9 @@ on:
paths:
- 'microsite/**'
permissions:
contents: read
jobs:
# The verify jobs runs all the verification that doesn't require a
# diff towards master, since it takes some time to fetch that.
@@ -19,6 +22,11 @@ jobs:
name: Verify ${{ matrix.node-version }}
steps:
# - name: Harden Runner
# uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
# with:
# egress-policy: audit
- run: echo NOOP
test-noop:
@@ -30,4 +38,9 @@ jobs:
name: Test ${{ matrix.node-version }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- run: echo NOOP
+21 -6
View File
@@ -26,10 +26,15 @@ jobs:
name: Install ${{ matrix.node-version }}
steps:
- uses: actions/checkout@v3
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- uses: actions/checkout@v3.6.0
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
uses: actions/setup-node@v3.8.1
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
@@ -57,10 +62,15 @@ jobs:
name: Verify ${{ matrix.node-version }}
steps:
- uses: actions/checkout@v3
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- uses: actions/checkout@v3.6.0
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
uses: actions/setup-node@v3.8.1
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
@@ -186,12 +196,17 @@ jobs:
INTEGRATION_TEST_AZURE_TOKEN: ${{ secrets.INTEGRATION_TEST_AZURE_TOKEN }}
steps:
- uses: actions/checkout@v3
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- uses: actions/checkout@v3.6.0
- name: fetch branch master
run: git fetch origin master
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
uses: actions/setup-node@v3.8.1
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
+5
View File
@@ -8,6 +8,11 @@ jobs:
cron:
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- uses: backstage/actions/cron@v0.6.4
with:
app-id: ${{ secrets.BACKSTAGE_GOALIE_APPLICATION_ID }}
+10 -5
View File
@@ -13,14 +13,19 @@ jobs:
node-version: [18.x]
steps:
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- name: checkout
uses: actions/checkout@v3
uses: actions/checkout@v3.6.0
with:
path: backstage
ref: v${{ github.event.client_payload.version }}
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
uses: actions/setup-node@v3.8.1
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
@@ -40,17 +45,17 @@ jobs:
working-directory: ./example-app
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
uses: docker/login-action@v2.2.0
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v2.10.0
- name: Build and push
uses: docker/build-push-action@v4
uses: docker/build-push-action@v4.2.1
with:
context: './example-app'
file: ./example-app/packages/backend/Dockerfile
+13 -3
View File
@@ -4,8 +4,13 @@ on:
branches:
- master
permissions:
contents: read
jobs:
deploy-microsite-and-storybook:
permissions:
contents: write # for JamesIves/github-pages-deploy-action to push changes in repo
runs-on: ubuntu-latest
env:
@@ -18,10 +23,15 @@ jobs:
cancel-in-progress: true
steps:
- uses: actions/checkout@v3
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- uses: actions/checkout@v3.6.0
- name: use node.js 18.x
uses: actions/setup-node@v3
uses: actions/setup-node@v3.8.1
with:
node-version: 18.x
registry-url: https://registry.npmjs.org/ # Needed for auth
@@ -56,7 +66,7 @@ jobs:
run: ls microsite/build && ls microsite/build/storybook
- name: Deploy both microsite and storybook to gh-pages
uses: JamesIves/github-pages-deploy-action@v4.4.3
uses: JamesIves/github-pages-deploy-action@a1ea191d508feb8485aceba848389d49f80ca2dc # v4.4.3
with:
branch: gh-pages
folder: microsite/build
+9 -4
View File
@@ -14,15 +14,20 @@ jobs:
NODE_OPTIONS: --max-old-space-size=4096
steps:
- uses: actions/checkout@v3
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
- name: use node.js 18.x
uses: actions/setup-node@v3
uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1
with:
node-version: 18.x
registry-url: https://registry.npmjs.org/ # Needed for auth
- name: yarn install
uses: backstage/actions/yarn-install@v0.6.4
uses: backstage/actions/yarn-install@497722d45fb5a35c14c721f63ed74e6ad5f629dd # v0.6.4
with:
cache-prefix: ${{ runner.os }}-v18.x
@@ -59,7 +64,7 @@ jobs:
- name: Discord notification
if: ${{ failure() }}
uses: Ilshidur/action-discord@0.3.2
uses: Ilshidur/action-discord@0c4b27844ba47cb1c7bee539c8eead5284ce9fa9 # 0.3.2
env:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
with:
+17 -7
View File
@@ -60,10 +60,15 @@ jobs:
INTEGRATION_TEST_AZURE_TOKEN: ${{ secrets.INTEGRATION_TEST_AZURE_TOKEN }}
steps:
- uses: actions/checkout@v3
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- uses: actions/checkout@v3.6.0
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
uses: actions/setup-node@v3.8.1
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
@@ -112,7 +117,7 @@ jobs:
- name: Discord notification
if: ${{ failure() }}
uses: Ilshidur/action-discord@0.3.2
uses: Ilshidur/action-discord@0c4b27844ba47cb1c7bee539c8eead5284ce9fa9 # 0.3.2
env:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
with:
@@ -137,10 +142,15 @@ jobs:
NODE_OPTIONS: --max-old-space-size=4096
steps:
- uses: actions/checkout@v3
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- uses: actions/checkout@v3.6.0
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
uses: actions/setup-node@v3.8.1
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
@@ -185,7 +195,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GH_SERVICE_ACCOUNT_TOKEN }}
- name: Dispatch repository event
uses: peter-evans/repository-dispatch@v2
uses: peter-evans/repository-dispatch@bf47d102fdb849e755b0b0023ea3e81a44b6f570 # v2.1.2
with:
token: ${{ secrets.GH_SERVICE_ACCOUNT_TOKEN }}
event-type: release-published
@@ -193,7 +203,7 @@ jobs:
# Notify everyone about this great new release :D
- name: Discord notification
uses: Ilshidur/action-discord@0.3.2
uses: Ilshidur/action-discord@0c4b27844ba47cb1c7bee539c8eead5284ce9fa9 # 0.3.2
env:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_RELEASE_WEBHOOK }}
TAG_NAME: ${{ steps.create_tag.outputs.tag_name }}
+5
View File
@@ -9,5 +9,10 @@ jobs:
if: github.repository == 'backstage/backstage'
steps:
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- name: Issue sync
uses: backstage/actions/issue-sync@v0.6.4
@@ -7,6 +7,9 @@ on:
types:
- created
permissions:
contents: read
jobs:
trigger:
runs-on: ubuntu-latest
@@ -16,13 +19,18 @@ jobs:
if: github.repository == 'backstage/backstage' && github.event.comment.user.id == github.event.pull_request.user.id
steps:
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- name: Save PR number
env:
PR_NUMBER: ${{ github.event.pull_request.number }}
run: |
mkdir -p ./pr
echo $PR_NUMBER > ./pr/pr_number
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v3.1.3
with:
name: pr_number-${{ github.event.pull_request.number }}
path: pr/
+6 -1
View File
@@ -16,9 +16,14 @@ jobs:
steps:
# Inspired by https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#using-data-from-the-triggering-workflow
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- name: Read PR Number
id: pr-number
uses: actions/github-script@v6
uses: actions/github-script@v6.4.1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
+5
View File
@@ -17,6 +17,11 @@ jobs:
# Avoid running on issue comments
if: github.repository == 'backstage/backstage' && ( github.event.pull_request || github.event.issue.pull_request )
steps:
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- name: PR sync
uses: backstage/actions/pr-sync@v0.6.4
with:
+7 -2
View File
@@ -28,8 +28,13 @@ jobs:
id-token: write
steps:
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- name: 'Checkout code'
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
uses: actions/checkout@v3.6.0
with:
persist-credentials: false
@@ -53,7 +58,7 @@ jobs:
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
# format to the repository Actions tab.
- name: 'Upload artifact'
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
uses: actions/upload-artifact@v3.1.3
with:
name: SARIF file
path: results.sarif
+8 -3
View File
@@ -9,13 +9,18 @@ jobs:
name: Autofix Markdown files using Prettier
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
with:
# Fetch changes to previous commit - required for 'only_changed' in Prettier action
fetch-depth: 0
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
uses: actions/setup-node@v3.8.1
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
@@ -25,7 +30,7 @@ jobs:
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
- name: Run Prettier on ADOPTERS.md
uses: creyD/prettier_action@v4.3
uses: creyD/prettier_action@31355f8eef017f8aeba2e0bc09d8502b13dbbad1 # v4.3
with:
# Modifies commit only if prettier autofixed the ADOPTERS.md
prettier_options: --config docs/prettier.config.js --write ADOPTERS.md
@@ -10,8 +10,13 @@ jobs:
runs-on: ubuntu-latest
if: github.actor == 'dependabot[bot]' && github.repository == 'backstage/backstage'
steps:
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v3.6.0
with:
fetch-depth: 2
ref: ${{ github.head_ref }}
@@ -21,7 +26,7 @@ jobs:
git config --global user.email noreply@backstage.io
git config --global user.name 'Github changeset workflow'
- name: Generate changeset
uses: actions/github-script@v6
uses: actions/github-script@v6.4.1
with:
script: |
const { promises: fs } = require('fs');
+9 -4
View File
@@ -7,8 +7,13 @@ jobs:
create-new-version:
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
# Setup node & install deps before checkout, keeping install quick
- uses: actions/setup-node@v3
- uses: actions/setup-node@v3.8.1
with:
node-version: 18.x
- name: Install dependencies
@@ -16,7 +21,7 @@ jobs:
run: npm install semver@7.3.5 fs-extra@10.0.0 @manypkg/get-packages@1.1.1
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v3.6.0
with:
path: backstage
# 'v' prefix is added here for the tag, we keep it out of the manifest logic
@@ -24,7 +29,7 @@ jobs:
# Checkout backstage/versions into /backstage/versions, which is where store the output
- name: Checkout versions
uses: actions/checkout@v3
uses: actions/checkout@v3.6.0
with:
repository: backstage/versions
path: backstage/versions
@@ -48,7 +53,7 @@ jobs:
git push
- name: Dispatch update-helper update
uses: actions/github-script@v6
uses: actions/github-script@v6.4.1
with:
github-token: ${{ secrets.GH_SERVICE_ACCOUNT_TOKEN }}
# TODO(Rugvip): Remove the create-app dispatch once we've been on the release version for a while
@@ -10,8 +10,13 @@ jobs:
runs-on: ubuntu-latest
if: github.actor == 'renovate[bot]' && github.repository == 'backstage/backstage'
steps:
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v3.6.0
with:
fetch-depth: 2
ref: ${{ github.head_ref }}
@@ -21,7 +26,7 @@ jobs:
git config --global user.email noreply@backstage.io
git config --global user.name 'Github changeset workflow'
- name: Generate changeset
uses: actions/github-script@v6
uses: actions/github-script@v6.4.1
with:
script: |
const { promises: fs } = require("fs");
@@ -11,10 +11,15 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- uses: actions/checkout@v3.6.0
- name: use node.js 18.x
uses: actions/setup-node@v3
uses: actions/setup-node@v3.8.1
with:
node-version: 18.x
registry-url: https://registry.npmjs.org/ # Needed for auth
@@ -24,7 +29,7 @@ jobs:
cache-prefix: ${{ runner.os }}-v18.x
- name: Create Snyk report
uses: snyk/actions/node@master
uses: snyk/actions/node@299cde98a08ff8b1c2bfde1e5a067bce67a6d2b8 # master
continue-on-error: true # Snyk CLI exits with error when vulnerabilities are found
with:
args: >
+15 -4
View File
@@ -14,13 +14,24 @@ on:
# ignore policies in the .snyk files and then have them show up in the snyk web
# UI, and also automatically adds any new packages that are created.
permissions:
contents: read
jobs:
sync:
permissions:
contents: read # for actions/checkout to fetch code
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- uses: actions/checkout@v3.6.0
- name: Monitor and Synchronize Snyk Policies
uses: snyk/actions/node@master
uses: snyk/actions/node@299cde98a08ff8b1c2bfde1e5a067bce67a6d2b8 # master
with:
command: monitor
args: >
@@ -35,7 +46,7 @@ jobs:
# Above we run the `monitor` command, this runs the `test` command which is
# the one that generates the SARIF report that we can upload to GitHub.
- name: Create Snyk report
uses: snyk/actions/node@master
uses: snyk/actions/node@299cde98a08ff8b1c2bfde1e5a067bce67a6d2b8 # master
continue-on-error: true # To make sure that SARIF upload gets called
with:
args: >
@@ -47,6 +58,6 @@ jobs:
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
NODE_OPTIONS: --max-old-space-size=7168
- name: Upload Snyk report
uses: github/codeql-action/upload-sarif@v2
uses: github/codeql-action/upload-sarif@v2.21.8
with:
sarif_file: snyk.sarif
+8 -3
View File
@@ -13,7 +13,12 @@ jobs:
name: Create Changeset PR
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- uses: actions/checkout@v3.6.0
with:
fetch-depth: 20000
fetch-tags: true
@@ -21,7 +26,7 @@ jobs:
- name: Install Dependencies
run: yarn --immutable
- name: Create Release Pull Request
uses: backstage/changesets-action@v2
uses: backstage/changesets-action@v2.1.0
with:
# Calls out to `changeset version`, but also runs prettier
version: yarn release
@@ -31,7 +36,7 @@ jobs:
- name: Discord notification
if: ${{ failure() }}
uses: Ilshidur/action-discord@0.3.2
uses: Ilshidur/action-discord@0c4b27844ba47cb1c7bee539c8eead5284ce9fa9 # 0.3.2
env:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
with:
+24 -9
View File
@@ -19,11 +19,16 @@ jobs:
outputs:
tags: ${{ steps.meta.outputs.tags }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- name: checkout
uses: actions/checkout@v3
uses: actions/checkout@v3.6.0
- name: setup-node
uses: actions/setup-node@v3
uses: actions/setup-node@v3.8.1
with:
node-version: 18.x
registry-url: https://registry.npmjs.org/
@@ -46,7 +51,7 @@ jobs:
yarn workspace example-backend build
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@885d1462b80bc1c1c7f0b00334ad271f09369c55 # v2.10.0
- name: Generate UUID image name
id: uuid
@@ -54,13 +59,13 @@ jobs:
- name: Docker metadata
id: meta
uses: docker/metadata-action@v4
uses: docker/metadata-action@818d4b7b91585d195f67373fd9cb0332e31a7175 # v4.6.0
with:
images: registry.uffizzi.com/${{ env.UUID_TAG_APP }}
tags: type=raw,value=60d
- name: Build Image
uses: docker/build-push-action@v4
uses: docker/build-push-action@0a97817b6ade9f46837855d676c4cca3a2471fc9 # v4.2.1
with:
context: .
file: packages/backend/Dockerfile
@@ -76,8 +81,13 @@ jobs:
outputs:
compose-file-cache-key: ${{ steps.hash.outputs.hash }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- name: Checkout git repo
uses: actions/checkout@v3
uses: actions/checkout@v3.6.0
- name: Render Compose File
run: |
BACKSTAGE_IMAGE=$(echo ${{ needs.build-backstage.outputs.tags }})
@@ -86,13 +96,13 @@ jobs:
envsubst '$BACKSTAGE_IMAGE $GITHUB_SHA' < .github/uffizzi/docker-compose.uffizzi.yml > docker-compose.rendered.yml
cat docker-compose.rendered.yml
- name: Upload Rendered Compose File as Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v3.1.3
with:
name: preview-spec
path: docker-compose.rendered.yml
retention-days: 2
- name: Upload PR Event as Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v3.1.3
with:
name: preview-spec
path: ${{ github.event_path }}
@@ -103,9 +113,14 @@ jobs:
runs-on: ubuntu-latest
if: ${{ github.event.action == 'closed' }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
# If this PR is closing, we will not render a compose file nor pass it to the next workflow.
- name: Upload PR Event as Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v3.1.3
with:
name: preview-spec
path: ${{ github.event_path }}
+7 -2
View File
@@ -17,9 +17,14 @@ jobs:
git-ref: ${{ env.GIT_REF }}
pr-number: ${{ env.PR_NUMBER }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- name: 'Download artifacts'
# Fetch output (zip archive) from the workflow run that triggered this workflow.
uses: actions/github-script@v6
uses: actions/github-script@v6.4.1
with:
script: |
let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({
@@ -59,7 +64,7 @@ jobs:
- name: Cache Rendered Compose File
if: ${{ fromJSON(env.EVENT_JSON).action != 'closed' }}
uses: actions/cache@v3
uses: actions/cache@v3.3.2
with:
path: docker-compose.rendered.yml
key: ${{ env.COMPOSE_FILE_HASH }}
@@ -17,9 +17,17 @@ on:
- 'plugins/search/src/**'
- 'plugins/search-react/src/**'
permissions:
contents: read
jobs:
noop:
name: Accessibility
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- run: echo NOOP
+7 -2
View File
@@ -19,9 +19,14 @@ jobs:
name: Accessibility
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- uses: actions/checkout@v3.6.0
- name: Use Node.js 18.x
uses: actions/setup-node@v3
uses: actions/setup-node@v3.8.1
with:
node-version: 18.x
- name: yarn install
+16 -4
View File
@@ -19,8 +19,15 @@ on:
schedule:
- cron: '0 8 * * 6'
permissions:
contents: read
jobs:
analyze:
permissions:
actions: read # for github/codeql-action/init to get workflow details
contents: read # for actions/checkout to fetch code
security-events: write # for github/codeql-action/autobuild to send a status report
name: Analyze
runs-on: ubuntu-latest
@@ -34,8 +41,13 @@ jobs:
# https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection
steps:
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v3.6.0
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
@@ -43,7 +55,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@v2.21.8
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -54,7 +66,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v2
uses: github/codeql-action/autobuild@v2.21.8
# ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
@@ -68,4 +80,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v2.21.8
+7 -2
View File
@@ -11,7 +11,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- uses: actions/checkout@v3.6.0
# Vale does not support file excludes, so we use the script to generate a list of files instead
# The action also does not allow args or a local config file to be passed in, so the files array
@@ -21,7 +26,7 @@ jobs:
run: echo "args=$(node scripts/check-docs-quality.js --ci-args)" >> $GITHUB_OUTPUT
- name: documentation quality check
uses: errata-ai/vale-action@v2.0.1
uses: errata-ai/vale-action@c4213d4de3d5f718b8497bd86161531c78992084 # v2.0.1
with:
# This also contains --config=.github/vale/config.ini ... :/
files: '${{ steps.generate.outputs.args }}'
@@ -9,6 +9,9 @@ on:
- '.github/workflows/verify_e2e-kubernetes.yml'
- 'packages/backend-common/src/**'
permissions:
contents: read
jobs:
verify:
runs-on: ubuntu-latest
@@ -19,4 +22,9 @@ jobs:
name: Kubernetes ${{ matrix.node-version }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- run: echo NOOP
+8 -3
View File
@@ -21,10 +21,15 @@ jobs:
name: Kubernetes ${{ matrix.node-version }}
steps:
- uses: actions/checkout@v3
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- uses: actions/checkout@v3.6.0
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
uses: actions/setup-node@v3.8.1
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
@@ -35,7 +40,7 @@ jobs:
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
- name: bootstrap kind
uses: helm/kind-action@v1.8.0
uses: helm/kind-action@dda0770415bac9fc20092cacbc54aa298604d140 # v1.8.0
- name: kubernetes test
working-directory: packages/backend-common
@@ -14,6 +14,9 @@ concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
noop:
runs-on: ubuntu-latest
@@ -24,4 +27,9 @@ jobs:
name: E2E Linux ${{ matrix.node-version }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- run: echo NOOP
+7 -2
View File
@@ -39,7 +39,12 @@ jobs:
name: E2E Linux ${{ matrix.node-version }}
steps:
- uses: actions/checkout@v3
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- uses: actions/checkout@v3.6.0
- name: Configure Git
run: |
@@ -47,7 +52,7 @@ jobs:
git config --global user.name 'GitHub e2e user'
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
uses: actions/setup-node@v3.8.1
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
+10 -2
View File
@@ -12,6 +12,9 @@ concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
verify:
runs-on: ubuntu-latest
@@ -26,8 +29,13 @@ jobs:
name: Techdocs
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- uses: actions/checkout@v3.6.0
- uses: actions/setup-python@v4.7.0
with:
python-version: '3.9'
@@ -11,6 +11,9 @@ on:
- 'packages/e2e-test/**'
- 'packages/create-app/**'
permissions:
contents: read
jobs:
noop:
runs-on: windows-2019
@@ -21,4 +24,9 @@ jobs:
name: E2E Windows ${{ matrix.node-version }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- run: echo NOOP
+9 -4
View File
@@ -30,6 +30,11 @@ jobs:
name: E2E Windows ${{ matrix.node-version }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
# In order to have the create-app template function as if it was downloaded from NPM
# we need to make sure we checkout files with LF line endings only
- name: Set git to use LF
@@ -37,7 +42,7 @@ jobs:
git config --global core.autocrlf false
git config --global core.eol lf
- uses: actions/checkout@v3
- uses: actions/checkout@v3.6.0
- name: Configure Git
run: |
@@ -45,13 +50,13 @@ jobs:
git config --global user.name 'GitHub e2e user'
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
uses: actions/setup-node@v3.8.1
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
- name: setup python
uses: actions/setup-python@v4
uses: actions/setup-python@v4.7.0
with:
python-version: '3.10'
@@ -70,7 +75,7 @@ jobs:
npm prefix -g | % {npm config set node_gyp "$_\node_modules\node-gyp\bin\node-gyp.js"}
- name: setup chrome
uses: browser-actions/setup-chrome@latest
uses: browser-actions/setup-chrome@803ef6dfb4fdf22089c9563225d95e4a515820a0 # latest
- name: yarn install
uses: backstage/actions/yarn-install@v0.6.4
+9 -1
View File
@@ -5,13 +5,21 @@ on:
pull_request:
branches: [master]
permissions:
contents: read
jobs:
analyze:
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v3.6.0
- name: Install Fossa
run: "curl -H 'Cache-Control: no-cache' https://raw.githubusercontent.com/fossas/fossa-cli/master/install.sh | bash"
@@ -11,10 +11,18 @@ on:
- 'mkdocs.yml'
- 'docs/**'
permissions:
contents: read
jobs:
noop:
runs-on: ubuntu-latest
name: Microsite
steps:
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- run: echo NOOP
+10 -2
View File
@@ -9,6 +9,9 @@ on:
- 'mkdocs.yml'
- 'docs/**'
permissions:
contents: read
jobs:
build-microsite:
runs-on: ubuntu-latest
@@ -20,10 +23,15 @@ jobs:
name: Microsite
steps:
- uses: actions/checkout@v3
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- uses: actions/checkout@v3.6.0
- name: use node.js 18.x
uses: actions/setup-node@v3
uses: actions/setup-node@v3.8.1
with:
node-version: 18.x
@@ -18,10 +18,18 @@ on:
- 'packages/core-components/src/**'
- '**/*.stories.tsx'
permissions:
contents: read
jobs:
noop:
runs-on: ubuntu-latest
name: Storybook
steps:
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- run: echo NOOP
+8 -3
View File
@@ -27,12 +27,17 @@ jobs:
name: Storybook
steps:
- uses: actions/checkout@v3
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- uses: actions/checkout@v3.6.0
with:
fetch-depth: 0 # Required to retrieve git history
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
uses: actions/setup-node@v3.8.1
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
@@ -46,7 +51,7 @@ jobs:
- run: yarn build-storybook
- uses: chromaui/action@v1
- uses: chromaui/action@807600692d28833b717c155e15ed20905cdc865c # v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
# projectToken intentionally shared to allow collaborators to run Chromatic on forks
+10 -2
View File
@@ -7,6 +7,9 @@ on:
paths:
- '.github/workflows/verify_windows.yml'
permissions:
contents: read
jobs:
build:
runs-on: windows-2022
@@ -25,10 +28,15 @@ jobs:
INTEGRATION_TEST_AZURE_TOKEN: ${{ secrets.INTEGRATION_TEST_AZURE_TOKEN }}
steps:
- uses: actions/checkout@v3
- name: Harden Runner
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
with:
egress-policy: audit
- uses: actions/checkout@v3.6.0
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
uses: actions/setup-node@v3.8.1
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth