CODE - Jarvis Gone Wrong workflow (skills/secure-code-game)
The CODE - Jarvis Gone Wrong workflow from skills/secure-code-game, explained and optimized by Latchkey.
CI health: C - fair
Point runs-on at Latchkey and get run de-duplication, job timeouts, self-healing for flaky steps, and up to 58% lower cost, applied automatically.
What it does
This is the CODE - Jarvis Gone Wrong workflow from the skills/secure-code-game repository, a real project running GitHub Actions. It is shown here with attribution under its MIT license.
Below, Latchkey shows a faster, safer version produced by its optimization engine.
The workflow
# //////////////////////////////////////////////////////////////////////////////////////////////////
# /// ///
# /// 1. Review the code in this file. Can you spot the bug? ///
# /// 2. Fix the bug and push your solution so that GitHub Actions can run ///
# /// 3. You successfully completed this level when .github/workflows/jarvis-hack.yml pass 🟢 ///
# /// 4. If you get stuck, read the hint in hint-1.txt and try again ///
# /// 5. If you need more guidance, read the hint in hint-2.txt and try again ///
# /// 6. Compare your solution with solution.yml. Remember, there are several possible solutions ///
# /// ///
# //////////////////////////////////////////////////////////////////////////////////////////////////
name: CODE - Jarvis Gone Wrong
on:
push:
paths:
- ".github/workflows/jarvis-code.yml"
jobs:
jarvis:
if: ${{ !github.event.repository.is_template }}
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Check out code
uses: actions/checkout@v7
- name: Check GitHub Status
# Source of GitHub Action in line 30:
# https://github.com/dduzgun-security/secure-code-game-action
uses: dduzgun-security/secure-code-game-action@1c9ed9f1e57d7b8c4e9bfa8013fd54e322214eb4 # v2.0
with:
who-to-greet: "Jarvis, obviously ..."
get-token: "token-4db56ee8-dbec-46f3-96f5-32247695ab9b"
The same workflow, on Latchkey
Removes redundant runs and caps runaway jobs. Added and changed lines are highlighted.
# ////////////////////////////////////////////////////////////////////////////////////////////////// # /// /// # /// 1. Review the code in this file. Can you spot the bug? /// # /// 2. Fix the bug and push your solution so that GitHub Actions can run /// # /// 3. You successfully completed this level when .github/workflows/jarvis-hack.yml pass 🟢 /// # /// 4. If you get stuck, read the hint in hint-1.txt and try again /// # /// 5. If you need more guidance, read the hint in hint-2.txt and try again /// # /// 6. Compare your solution with solution.yml. Remember, there are several possible solutions /// # /// /// # ////////////////////////////////////////////////////////////////////////////////////////////////// name: CODE - Jarvis Gone Wrong on: push: paths: - ".github/workflows/jarvis-code.yml" concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: jarvis: timeout-minutes: 30 if: ${{ !github.event.repository.is_template }} runs-on: latchkey-small permissions: contents: read steps: - name: Check out code uses: actions/checkout@v7 - name: Check GitHub Status # Source of GitHub Action in line 30: # https://github.com/dduzgun-security/secure-code-game-action uses: dduzgun-security/secure-code-game-action@1c9ed9f1e57d7b8c4e9bfa8013fd54e322214eb4 # v2.0 with: who-to-greet: "Jarvis, obviously ..." get-token: "token-4db56ee8-dbec-46f3-96f5-32247695ab9b"
What changed
- Run on Latchkey managed runners with one line (
runs-on), which apply the fixes below automatically and self-heal transient failures. This example useslatchkey-small; pick the runner size that fits the job. - Cancel superseded runs when a branch or PR gets a newer push.
- Add a job timeout so a hung step cannot burn hours of runner time.
This workflow runs 1 job per trigger. On Latchkey the same minutes cost up to 58% less than GitHub-hosted, with zero queue time.