Harden GitHub workflows

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
This commit is contained in:
Pol Henarejos
2026-06-12 17:35:21 +02:00
parent 994553bfd7
commit d4a45836be
3 changed files with 32 additions and 8 deletions

View File

@@ -19,6 +19,7 @@ on:
branches: [ "main" ]
schedule:
- cron: '23 5 * * 4'
workflow_dispatch:
jobs:
analyze:
@@ -39,11 +40,13 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
persist-credentials: false
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -70,4 +73,4 @@ jobs:
./workflows/autobuild.sh ${{ matrix.mode }}
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v3

View File

@@ -5,34 +5,49 @@ on:
- cron: '0 2 * * *'
workflow_dispatch:
permissions:
contents: write
jobs:
nightly:
name: Deploy nightly
permissions:
contents: write
strategy:
fail-fast: false
matrix:
refs: [main]
runs-on: ubuntu-latest
env:
SIGNING_KEY_PATH: ${{ github.workspace }}/../private.pem
steps:
- name: Validate signing secret
run: |
test -n "${{ secrets.PRIVATE_KEY_B64 }}" || {
echo "PRIVATE_KEY_B64 is required for nightly signed releases." >&2
exit 1
}
- name: Checkout repository
uses: actions/checkout@v4
with:
ref: ${{ matrix.refs }}
submodules: 'recursive'
persist-credentials: false
- name: Restore private key
run: |
echo "${{ secrets.PRIVATE_KEY_B64 }}" | base64 -d > private.pem
chmod 600 private.pem
echo "${{ secrets.PRIVATE_KEY_B64 }}" | base64 -d > "${SIGNING_KEY_PATH}"
chmod 600 "${SIGNING_KEY_PATH}"
- name : Build
env:
PICO_SDK_PATH: ../pico-sdk
SECURE_BOOT_PKEY: ../private.pem
SECURE_BOOT_PKEY: ${{ github.workspace }}/../private.pem
run: |
./workflows/autobuild.sh pico
./build_pico_openpgp.sh --no-eddsa
./workflows/autobuild.sh esp32
- name: Delete private key
run: rm private.pem
if: always()
run: rm -f "${SIGNING_KEY_PATH}"
- name: Update nightly release
uses: pyTooling/Actions/releaser@v6.7.0
with:

View File

@@ -21,16 +21,22 @@ on:
schedule:
- cron: '23 5 * * 4'
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout repository and submodules
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
submodules: recursive
persist-credentials: false
- name: Build in container
run: ./tests/build-in-docker.sh
- name: Start emulation and test