From e12c9615963e28a3aaee87a29c649239b4f0f71e Mon Sep 17 00:00:00 2001 From: Iain Samuel McLean Elder Date: Mon, 1 Jul 2024 02:08:12 +0200 Subject: [PATCH] Test installer changes using dynamic matrix Completes the solution for #7 https://github.com/iainelder/dotfiles/issues/7 Delete all the generated workflows and the generator code. --- .github/workflows/1password-cli.yml | 40 -------------- .github/workflows/1password.yml | 40 -------------- .github/workflows/_program.yml.template | 40 -------------- .github/workflows/act.yml | 40 -------------- .github/workflows/angle-grinder.yml | 40 -------------- .github/workflows/anki.yml | 40 -------------- .github/workflows/aws-nuke.yml | 40 -------------- .github/workflows/aws-vault.yml | 40 -------------- .github/workflows/awscli.yml | 40 -------------- .github/workflows/awsls.yml | 40 -------------- .github/workflows/awsvpnclient.yml | 40 -------------- .github/workflows/bashmarks.yml | 40 -------------- .github/workflows/borgbackup.yml | 40 -------------- .github/workflows/clustergit.yml | 40 -------------- .github/workflows/codebuild-agent.yml | 40 -------------- .github/workflows/cropgui.yml | 40 -------------- .github/workflows/cw.yml | 40 -------------- .github/workflows/diff-pdf.yml | 40 -------------- .github/workflows/direnv.yml | 40 -------------- .github/workflows/dotnetsdk.yml | 40 -------------- .github/workflows/dsutils.yml | 40 -------------- .github/workflows/duckdb.yml | 40 -------------- .github/workflows/dvc.yml | 40 -------------- .github/workflows/envman.yml | 40 -------------- .../firefox-open-url-in-container.yml | 40 -------------- .github/workflows/firefox.yml | 40 -------------- .github/workflows/fzf.yml | 40 -------------- .github/workflows/gcloud.yml | 40 -------------- .github/workflows/geckodriver.yml | 40 -------------- .github/workflows/gephi.yml | 40 -------------- .github/workflows/git-secrets.yml | 40 -------------- .github/workflows/github-cli.yml | 40 -------------- .github/workflows/gnucash3.yml | 40 -------------- .github/workflows/goenv.yml | 40 -------------- .github/workflows/golang.yml | 40 -------------- .github/workflows/granted.yml | 40 -------------- .github/workflows/htmlq.yml | 40 -------------- .github/workflows/identitystorelister.yml | 40 -------------- .github/workflows/jd.yml | 40 -------------- .github/workflows/jmeter.yml | 40 -------------- .github/workflows/mark.yml | 40 -------------- .github/workflows/mullvad-vpn.yml | 43 --------------- .github/workflows/nice-dcv-viewer.yml | 40 -------------- .github/workflows/openrefine.yml | 40 -------------- .github/workflows/packer.yml | 40 -------------- .github/workflows/parallel.yml | 40 -------------- .github/workflows/pipelines.yml | 40 -------------- .github/workflows/pipx.yml | 40 -------------- .github/workflows/plantuml.yml | 40 -------------- .github/workflows/powershell.yml | 40 -------------- .github/workflows/q.yml | 40 -------------- .github/workflows/qsv.yml | 40 -------------- .github/workflows/rain.yml | 40 -------------- .github/workflows/rclone.yml | 40 -------------- .github/workflows/rocketchat.yml | 40 -------------- .github/workflows/s5cmd.yml | 40 -------------- .github/workflows/saml2aws.yml | 40 -------------- .github/workflows/semgrep.yml | 18 ------- .github/workflows/shellcheck.yml | 40 -------------- .github/workflows/snowsql.yml | 40 -------------- .github/workflows/spotify.yml | 40 -------------- .github/workflows/sqlean.yml | 40 -------------- .github/workflows/terragrunt.yml | 40 -------------- .github/workflows/test_all.yml | 18 ++++++- .github/workflows/test_changes.yml | 35 +++++++++--- .github/workflows/test_installer.yml | 54 ------------------- .github/workflows/test_installers.yml | 36 +++++++++++++ .github/workflows/tfenv.yml | 40 -------------- .github/workflows/tgenv.yml | 40 -------------- .github/workflows/typora.yml | 40 -------------- .github/workflows/vagrant.yml | 40 -------------- .github/workflows/vale.yml | 40 -------------- .github/workflows/virtualbox.yml | 40 -------------- .github/workflows/vscode.yml | 40 -------------- .github/workflows/workspacesclient.yml | 40 -------------- .github/workflows/yq.yml | 40 -------------- .github/workflows/zoom.yml | 40 -------------- README.md | 27 +++------- generate_ci.bash | 24 --------- 79 files changed, 88 insertions(+), 3007 deletions(-) delete mode 100644 .github/workflows/1password-cli.yml delete mode 100644 .github/workflows/1password.yml delete mode 100644 .github/workflows/_program.yml.template delete mode 100644 .github/workflows/act.yml delete mode 100644 .github/workflows/angle-grinder.yml delete mode 100644 .github/workflows/anki.yml delete mode 100644 .github/workflows/aws-nuke.yml delete mode 100644 .github/workflows/aws-vault.yml delete mode 100644 .github/workflows/awscli.yml delete mode 100644 .github/workflows/awsls.yml delete mode 100644 .github/workflows/awsvpnclient.yml delete mode 100644 .github/workflows/bashmarks.yml delete mode 100644 .github/workflows/borgbackup.yml delete mode 100644 .github/workflows/clustergit.yml delete mode 100644 .github/workflows/codebuild-agent.yml delete mode 100644 .github/workflows/cropgui.yml delete mode 100644 .github/workflows/cw.yml delete mode 100644 .github/workflows/diff-pdf.yml delete mode 100644 .github/workflows/direnv.yml delete mode 100644 .github/workflows/dotnetsdk.yml delete mode 100644 .github/workflows/dsutils.yml delete mode 100644 .github/workflows/duckdb.yml delete mode 100644 .github/workflows/dvc.yml delete mode 100644 .github/workflows/envman.yml delete mode 100644 .github/workflows/firefox-open-url-in-container.yml delete mode 100644 .github/workflows/firefox.yml delete mode 100644 .github/workflows/fzf.yml delete mode 100644 .github/workflows/gcloud.yml delete mode 100644 .github/workflows/geckodriver.yml delete mode 100644 .github/workflows/gephi.yml delete mode 100644 .github/workflows/git-secrets.yml delete mode 100644 .github/workflows/github-cli.yml delete mode 100644 .github/workflows/gnucash3.yml delete mode 100644 .github/workflows/goenv.yml delete mode 100644 .github/workflows/golang.yml delete mode 100644 .github/workflows/granted.yml delete mode 100644 .github/workflows/htmlq.yml delete mode 100644 .github/workflows/identitystorelister.yml delete mode 100644 .github/workflows/jd.yml delete mode 100644 .github/workflows/jmeter.yml delete mode 100644 .github/workflows/mark.yml delete mode 100644 .github/workflows/mullvad-vpn.yml delete mode 100644 .github/workflows/nice-dcv-viewer.yml delete mode 100644 .github/workflows/openrefine.yml delete mode 100644 .github/workflows/packer.yml delete mode 100644 .github/workflows/parallel.yml delete mode 100644 .github/workflows/pipelines.yml delete mode 100644 .github/workflows/pipx.yml delete mode 100644 .github/workflows/plantuml.yml delete mode 100644 .github/workflows/powershell.yml delete mode 100644 .github/workflows/q.yml delete mode 100644 .github/workflows/qsv.yml delete mode 100644 .github/workflows/rain.yml delete mode 100644 .github/workflows/rclone.yml delete mode 100644 .github/workflows/rocketchat.yml delete mode 100644 .github/workflows/s5cmd.yml delete mode 100644 .github/workflows/saml2aws.yml delete mode 100644 .github/workflows/semgrep.yml delete mode 100644 .github/workflows/shellcheck.yml delete mode 100644 .github/workflows/snowsql.yml delete mode 100644 .github/workflows/spotify.yml delete mode 100644 .github/workflows/sqlean.yml delete mode 100644 .github/workflows/terragrunt.yml delete mode 100644 .github/workflows/test_installer.yml create mode 100644 .github/workflows/test_installers.yml delete mode 100644 .github/workflows/tfenv.yml delete mode 100644 .github/workflows/tgenv.yml delete mode 100644 .github/workflows/typora.yml delete mode 100644 .github/workflows/vagrant.yml delete mode 100644 .github/workflows/vale.yml delete mode 100644 .github/workflows/virtualbox.yml delete mode 100644 .github/workflows/vscode.yml delete mode 100644 .github/workflows/workspacesclient.yml delete mode 100644 .github/workflows/yq.yml delete mode 100644 .github/workflows/zoom.yml delete mode 100755 generate_ci.bash diff --git a/.github/workflows/1password-cli.yml b/.github/workflows/1password-cli.yml deleted file mode 100644 index 5cb656de..00000000 --- a/.github/workflows/1password-cli.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: 1Password CLI -on: - push: - paths: - - programs/1password-cli/install.bash - - .github/workflows/1Password CLI.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install 1Password CLI - shell: su norm --command "bash --login {0}" - run: programs/1password-cli/install.bash - - - name: Install 1Password CLI again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/1password-cli/install.bash diff --git a/.github/workflows/1password.yml b/.github/workflows/1password.yml deleted file mode 100644 index 92f57a46..00000000 --- a/.github/workflows/1password.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: 1Password -on: - push: - paths: - - programs/1password/install.bash - - .github/workflows/1Password.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install 1Password - shell: su norm --command "bash --login {0}" - run: programs/1password/install.bash - - - name: Install 1Password again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/1password/install.bash diff --git a/.github/workflows/_program.yml.template b/.github/workflows/_program.yml.template deleted file mode 100644 index 26e11b2d..00000000 --- a/.github/workflows/_program.yml.template +++ /dev/null @@ -1,40 +0,0 @@ -name: ${program_name} -on: - push: - paths: - - ${program_script} - - .github/workflows/${program_name}.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install ${program_name} - shell: su norm --command "bash --login {0}" - run: ${program_script} - - - name: Install ${program_name} again (test idempotency) - shell: su norm --command "bash --login {0}" - run: ${program_script} diff --git a/.github/workflows/act.yml b/.github/workflows/act.yml deleted file mode 100644 index 0371912e..00000000 --- a/.github/workflows/act.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Act -on: - push: - paths: - - programs/act/install.bash - - .github/workflows/Act.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install Act - shell: su norm --command "bash --login {0}" - run: programs/act/install.bash - - - name: Install Act again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/act/install.bash diff --git a/.github/workflows/angle-grinder.yml b/.github/workflows/angle-grinder.yml deleted file mode 100644 index bd639f56..00000000 --- a/.github/workflows/angle-grinder.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Angle-Grinder -on: - push: - paths: - - programs/angle-grinder/install.bash - - .github/workflows/Angle-Grinder.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install Angle-Grinder - shell: su norm --command "bash --login {0}" - run: programs/angle-grinder/install.bash - - - name: Install Angle-Grinder again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/angle-grinder/install.bash diff --git a/.github/workflows/anki.yml b/.github/workflows/anki.yml deleted file mode 100644 index bba181e0..00000000 --- a/.github/workflows/anki.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Anki -on: - push: - paths: - - programs/anki/install.bash - - .github/workflows/Anki.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install Anki - shell: su norm --command "bash --login {0}" - run: programs/anki/install.bash - - - name: Install Anki again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/anki/install.bash diff --git a/.github/workflows/aws-nuke.yml b/.github/workflows/aws-nuke.yml deleted file mode 100644 index 278838cd..00000000 --- a/.github/workflows/aws-nuke.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: aws-nuke -on: - push: - paths: - - programs/aws-nuke/install.bash - - .github/workflows/aws-nuke.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install aws-nuke - shell: su norm --command "bash --login {0}" - run: programs/aws-nuke/install.bash - - - name: Install aws-nuke again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/aws-nuke/install.bash diff --git a/.github/workflows/aws-vault.yml b/.github/workflows/aws-vault.yml deleted file mode 100644 index ba2b4aa6..00000000 --- a/.github/workflows/aws-vault.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: aws-vault -on: - push: - paths: - - programs/aws-vault/install.bash - - .github/workflows/aws-vault.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install aws-vault - shell: su norm --command "bash --login {0}" - run: programs/aws-vault/install.bash - - - name: Install aws-vault again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/aws-vault/install.bash diff --git a/.github/workflows/awscli.yml b/.github/workflows/awscli.yml deleted file mode 100644 index 8545d385..00000000 --- a/.github/workflows/awscli.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: awscli -on: - push: - paths: - - programs/awscli/install.bash - - .github/workflows/awscli.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install awscli - shell: su norm --command "bash --login {0}" - run: programs/awscli/install.bash - - - name: Install awscli again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/awscli/install.bash diff --git a/.github/workflows/awsls.yml b/.github/workflows/awsls.yml deleted file mode 100644 index 763775c9..00000000 --- a/.github/workflows/awsls.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: awsls -on: - push: - paths: - - programs/awsls/install.bash - - .github/workflows/awsls.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install awsls - shell: su norm --command "bash --login {0}" - run: programs/awsls/install.bash - - - name: Install awsls again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/awsls/install.bash diff --git a/.github/workflows/awsvpnclient.yml b/.github/workflows/awsvpnclient.yml deleted file mode 100644 index cb2f0e8b..00000000 --- a/.github/workflows/awsvpnclient.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: AWS Client VPN for Linux -on: - push: - paths: - - programs/awsvpnclient/install.bash - - .github/workflows/AWS Client VPN for Linux.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install AWS Client VPN for Linux - shell: su norm --command "bash --login {0}" - run: programs/awsvpnclient/install.bash - - - name: Install AWS Client VPN for Linux again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/awsvpnclient/install.bash diff --git a/.github/workflows/bashmarks.yml b/.github/workflows/bashmarks.yml deleted file mode 100644 index 7b35c2da..00000000 --- a/.github/workflows/bashmarks.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Bashmarks -on: - push: - paths: - - programs/bashmarks/install.bash - - .github/workflows/Bashmarks.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install Bashmarks - shell: su norm --command "bash --login {0}" - run: programs/bashmarks/install.bash - - - name: Install Bashmarks again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/bashmarks/install.bash diff --git a/.github/workflows/borgbackup.yml b/.github/workflows/borgbackup.yml deleted file mode 100644 index dfea37af..00000000 --- a/.github/workflows/borgbackup.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: BorgBackup -on: - push: - paths: - - programs/borgbackup/install.bash - - .github/workflows/BorgBackup.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install BorgBackup - shell: su norm --command "bash --login {0}" - run: programs/borgbackup/install.bash - - - name: Install BorgBackup again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/borgbackup/install.bash diff --git a/.github/workflows/clustergit.yml b/.github/workflows/clustergit.yml deleted file mode 100644 index a09bd000..00000000 --- a/.github/workflows/clustergit.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: clustergit -on: - push: - paths: - - programs/clustergit/install.bash - - .github/workflows/clustergit.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install clustergit - shell: su norm --command "bash --login {0}" - run: programs/clustergit/install.bash - - - name: Install clustergit again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/clustergit/install.bash diff --git a/.github/workflows/codebuild-agent.yml b/.github/workflows/codebuild-agent.yml deleted file mode 100644 index 6ec7325d..00000000 --- a/.github/workflows/codebuild-agent.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: AWS CodeBuild agent -on: - push: - paths: - - programs/codebuild-agent/install.bash - - .github/workflows/AWS CodeBuild agent.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install AWS CodeBuild agent - shell: su norm --command "bash --login {0}" - run: programs/codebuild-agent/install.bash - - - name: Install AWS CodeBuild agent again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/codebuild-agent/install.bash diff --git a/.github/workflows/cropgui.yml b/.github/workflows/cropgui.yml deleted file mode 100644 index 39ce503e..00000000 --- a/.github/workflows/cropgui.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Cropgui -on: - push: - paths: - - programs/cropgui/install.bash - - .github/workflows/Cropgui.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install Cropgui - shell: su norm --command "bash --login {0}" - run: programs/cropgui/install.bash - - - name: Install Cropgui again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/cropgui/install.bash diff --git a/.github/workflows/cw.yml b/.github/workflows/cw.yml deleted file mode 100644 index a25573db..00000000 --- a/.github/workflows/cw.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: cw -on: - push: - paths: - - programs/cw/install.bash - - .github/workflows/cw.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install cw - shell: su norm --command "bash --login {0}" - run: programs/cw/install.bash - - - name: Install cw again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/cw/install.bash diff --git a/.github/workflows/diff-pdf.yml b/.github/workflows/diff-pdf.yml deleted file mode 100644 index 35382115..00000000 --- a/.github/workflows/diff-pdf.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: diff-pdf -on: - push: - paths: - - programs/diff-pdf/install.bash - - .github/workflows/diff-pdf.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install diff-pdf - shell: su norm --command "bash --login {0}" - run: programs/diff-pdf/install.bash - - - name: Install diff-pdf again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/diff-pdf/install.bash diff --git a/.github/workflows/direnv.yml b/.github/workflows/direnv.yml deleted file mode 100644 index 88eb8e51..00000000 --- a/.github/workflows/direnv.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: direnv -on: - push: - paths: - - programs/direnv/install.bash - - .github/workflows/direnv.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install direnv - shell: su norm --command "bash --login {0}" - run: programs/direnv/install.bash - - - name: Install direnv again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/direnv/install.bash diff --git a/.github/workflows/dotnetsdk.yml b/.github/workflows/dotnetsdk.yml deleted file mode 100644 index 83e25d0a..00000000 --- a/.github/workflows/dotnetsdk.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: .NET SDK -on: - push: - paths: - - programs/dotnetsdk/install.bash - - .github/workflows/.NET SDK.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install .NET SDK - shell: su norm --command "bash --login {0}" - run: programs/dotnetsdk/install.bash - - - name: Install .NET SDK again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/dotnetsdk/install.bash diff --git a/.github/workflows/dsutils.yml b/.github/workflows/dsutils.yml deleted file mode 100644 index 6effc3bb..00000000 --- a/.github/workflows/dsutils.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: dsutils -on: - push: - paths: - - programs/dsutils/install.bash - - .github/workflows/dsutils.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install dsutils - shell: su norm --command "bash --login {0}" - run: programs/dsutils/install.bash - - - name: Install dsutils again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/dsutils/install.bash diff --git a/.github/workflows/duckdb.yml b/.github/workflows/duckdb.yml deleted file mode 100644 index 36677ec1..00000000 --- a/.github/workflows/duckdb.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: DuckDB -on: - push: - paths: - - programs/duckdb/install.bash - - .github/workflows/DuckDB.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install DuckDB - shell: su norm --command "bash --login {0}" - run: programs/duckdb/install.bash - - - name: Install DuckDB again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/duckdb/install.bash diff --git a/.github/workflows/dvc.yml b/.github/workflows/dvc.yml deleted file mode 100644 index 9d0853f5..00000000 --- a/.github/workflows/dvc.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: DVC (Data Version Control) -on: - push: - paths: - - programs/dvc/install.bash - - .github/workflows/DVC (Data Version Control).yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install DVC (Data Version Control) - shell: su norm --command "bash --login {0}" - run: programs/dvc/install.bash - - - name: Install DVC (Data Version Control) again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/dvc/install.bash diff --git a/.github/workflows/envman.yml b/.github/workflows/envman.yml deleted file mode 100644 index 712e1dbb..00000000 --- a/.github/workflows/envman.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Envman -on: - push: - paths: - - programs/envman/install.bash - - .github/workflows/Envman.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install Envman - shell: su norm --command "bash --login {0}" - run: programs/envman/install.bash - - - name: Install Envman again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/envman/install.bash diff --git a/.github/workflows/firefox-open-url-in-container.yml b/.github/workflows/firefox-open-url-in-container.yml deleted file mode 100644 index 8c5b5846..00000000 --- a/.github/workflows/firefox-open-url-in-container.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: firefox-container -on: - push: - paths: - - programs/firefox-open-url-in-container/install.bash - - .github/workflows/firefox-container.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install firefox-container - shell: su norm --command "bash --login {0}" - run: programs/firefox-open-url-in-container/install.bash - - - name: Install firefox-container again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/firefox-open-url-in-container/install.bash diff --git a/.github/workflows/firefox.yml b/.github/workflows/firefox.yml deleted file mode 100644 index d2b0086f..00000000 --- a/.github/workflows/firefox.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Firefox -on: - push: - paths: - - programs/firefox/install.bash - - .github/workflows/Firefox.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install Firefox - shell: su norm --command "bash --login {0}" - run: programs/firefox/install.bash - - - name: Install Firefox again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/firefox/install.bash diff --git a/.github/workflows/fzf.yml b/.github/workflows/fzf.yml deleted file mode 100644 index c4ff715f..00000000 --- a/.github/workflows/fzf.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: fzf -on: - push: - paths: - - programs/fzf/install.bash - - .github/workflows/fzf.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install fzf - shell: su norm --command "bash --login {0}" - run: programs/fzf/install.bash - - - name: Install fzf again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/fzf/install.bash diff --git a/.github/workflows/gcloud.yml b/.github/workflows/gcloud.yml deleted file mode 100644 index 5b9721c7..00000000 --- a/.github/workflows/gcloud.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: gcloud CLI -on: - push: - paths: - - programs/gcloud/install.bash - - .github/workflows/gcloud CLI.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install gcloud CLI - shell: su norm --command "bash --login {0}" - run: programs/gcloud/install.bash - - - name: Install gcloud CLI again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/gcloud/install.bash diff --git a/.github/workflows/geckodriver.yml b/.github/workflows/geckodriver.yml deleted file mode 100644 index 66f799a9..00000000 --- a/.github/workflows/geckodriver.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: geckodriver -on: - push: - paths: - - programs/geckodriver/install.bash - - .github/workflows/geckodriver.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install geckodriver - shell: su norm --command "bash --login {0}" - run: programs/geckodriver/install.bash - - - name: Install geckodriver again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/geckodriver/install.bash diff --git a/.github/workflows/gephi.yml b/.github/workflows/gephi.yml deleted file mode 100644 index 2e88b509..00000000 --- a/.github/workflows/gephi.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Gephi -on: - push: - paths: - - programs/gephi/install.bash - - .github/workflows/Gephi.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install Gephi - shell: su norm --command "bash --login {0}" - run: programs/gephi/install.bash - - - name: Install Gephi again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/gephi/install.bash diff --git a/.github/workflows/git-secrets.yml b/.github/workflows/git-secrets.yml deleted file mode 100644 index b94e8367..00000000 --- a/.github/workflows/git-secrets.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: git-secrets -on: - push: - paths: - - programs/git-secrets/install.bash - - .github/workflows/git-secrets.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install git-secrets - shell: su norm --command "bash --login {0}" - run: programs/git-secrets/install.bash - - - name: Install git-secrets again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/git-secrets/install.bash diff --git a/.github/workflows/github-cli.yml b/.github/workflows/github-cli.yml deleted file mode 100644 index 747e853b..00000000 --- a/.github/workflows/github-cli.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: GitHub CLI -on: - push: - paths: - - programs/github-cli/install.bash - - .github/workflows/GitHub CLI.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install GitHub CLI - shell: su norm --command "bash --login {0}" - run: programs/github-cli/install.bash - - - name: Install GitHub CLI again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/github-cli/install.bash diff --git a/.github/workflows/gnucash3.yml b/.github/workflows/gnucash3.yml deleted file mode 100644 index 2e70587e..00000000 --- a/.github/workflows/gnucash3.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: GnuCash 3 -on: - push: - paths: - - programs/gnucash3/install.bash - - .github/workflows/GnuCash 3.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install GnuCash 3 - shell: su norm --command "bash --login {0}" - run: programs/gnucash3/install.bash - - - name: Install GnuCash 3 again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/gnucash3/install.bash diff --git a/.github/workflows/goenv.yml b/.github/workflows/goenv.yml deleted file mode 100644 index c928b3be..00000000 --- a/.github/workflows/goenv.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: goenv -on: - push: - paths: - - programs/goenv/install.bash - - .github/workflows/goenv.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install goenv - shell: su norm --command "bash --login {0}" - run: programs/goenv/install.bash - - - name: Install goenv again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/goenv/install.bash diff --git a/.github/workflows/golang.yml b/.github/workflows/golang.yml deleted file mode 100644 index ec7aec9d..00000000 --- a/.github/workflows/golang.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Golang -on: - push: - paths: - - programs/golang/install.bash - - .github/workflows/Golang.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install Golang - shell: su norm --command "bash --login {0}" - run: programs/golang/install.bash - - - name: Install Golang again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/golang/install.bash diff --git a/.github/workflows/granted.yml b/.github/workflows/granted.yml deleted file mode 100644 index 2f328793..00000000 --- a/.github/workflows/granted.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Granted -on: - push: - paths: - - programs/granted/install.bash - - .github/workflows/Granted.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install Granted - shell: su norm --command "bash --login {0}" - run: programs/granted/install.bash - - - name: Install Granted again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/granted/install.bash diff --git a/.github/workflows/htmlq.yml b/.github/workflows/htmlq.yml deleted file mode 100644 index 9ea67659..00000000 --- a/.github/workflows/htmlq.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: htmlq -on: - push: - paths: - - programs/htmlq/install.bash - - .github/workflows/htmlq.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install htmlq - shell: su norm --command "bash --login {0}" - run: programs/htmlq/install.bash - - - name: Install htmlq again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/htmlq/install.bash diff --git a/.github/workflows/identitystorelister.yml b/.github/workflows/identitystorelister.yml deleted file mode 100644 index 5f126f79..00000000 --- a/.github/workflows/identitystorelister.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: identitystorelister -on: - push: - paths: - - programs/identitystorelister/install.bash - - .github/workflows/identitystorelister.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install identitystorelister - shell: su norm --command "bash --login {0}" - run: programs/identitystorelister/install.bash - - - name: Install identitystorelister again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/identitystorelister/install.bash diff --git a/.github/workflows/jd.yml b/.github/workflows/jd.yml deleted file mode 100644 index aaf8a9ed..00000000 --- a/.github/workflows/jd.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: jd -on: - push: - paths: - - programs/jd/install.bash - - .github/workflows/jd.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install jd - shell: su norm --command "bash --login {0}" - run: programs/jd/install.bash - - - name: Install jd again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/jd/install.bash diff --git a/.github/workflows/jmeter.yml b/.github/workflows/jmeter.yml deleted file mode 100644 index 6774225f..00000000 --- a/.github/workflows/jmeter.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: JMeter -on: - push: - paths: - - programs/jmeter/install.bash - - .github/workflows/JMeter.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install JMeter - shell: su norm --command "bash --login {0}" - run: programs/jmeter/install.bash - - - name: Install JMeter again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/jmeter/install.bash diff --git a/.github/workflows/mark.yml b/.github/workflows/mark.yml deleted file mode 100644 index 32eea348..00000000 --- a/.github/workflows/mark.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: mark -on: - push: - paths: - - programs/mark/install.bash - - .github/workflows/mark.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install mark - shell: su norm --command "bash --login {0}" - run: programs/mark/install.bash - - - name: Install mark again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/mark/install.bash diff --git a/.github/workflows/mullvad-vpn.yml b/.github/workflows/mullvad-vpn.yml deleted file mode 100644 index dcc91100..00000000 --- a/.github/workflows/mullvad-vpn.yml +++ /dev/null @@ -1,43 +0,0 @@ -name: Mullvad VPN -on: - push: - paths: - - programs/mullvad-vpn/install.bash - - .github/workflows/Mullvad VPN.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - # Mullvad supports the last two LTS versions. - # Ubuntu 24.04 came out April 2024. - # - "ubuntu:20.04" - - "ubuntu:22.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install Mullvad VPN - shell: su norm --command "bash --login {0}" - run: programs/mullvad-vpn/install.bash - - - name: Install Mullvad VPN again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/mullvad-vpn/install.bash diff --git a/.github/workflows/nice-dcv-viewer.yml b/.github/workflows/nice-dcv-viewer.yml deleted file mode 100644 index 7fa01cc6..00000000 --- a/.github/workflows/nice-dcv-viewer.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: NICE DCV Viewer -on: - push: - paths: - - programs/nice-dcv-viewer/install.bash - - .github/workflows/NICE DCV Viewer.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install NICE DCV Viewer - shell: su norm --command "bash --login {0}" - run: programs/nice-dcv-viewer/install.bash - - - name: Install NICE DCV Viewer again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/nice-dcv-viewer/install.bash diff --git a/.github/workflows/openrefine.yml b/.github/workflows/openrefine.yml deleted file mode 100644 index b256039f..00000000 --- a/.github/workflows/openrefine.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: OpenRefine -on: - push: - paths: - - programs/openrefine/install.bash - - .github/workflows/OpenRefine.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install OpenRefine - shell: su norm --command "bash --login {0}" - run: programs/openrefine/install.bash - - - name: Install OpenRefine again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/openrefine/install.bash diff --git a/.github/workflows/packer.yml b/.github/workflows/packer.yml deleted file mode 100644 index 9a223cf7..00000000 --- a/.github/workflows/packer.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Packer -on: - push: - paths: - - programs/packer/install.bash - - .github/workflows/Packer.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install Packer - shell: su norm --command "bash --login {0}" - run: programs/packer/install.bash - - - name: Install Packer again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/packer/install.bash diff --git a/.github/workflows/parallel.yml b/.github/workflows/parallel.yml deleted file mode 100644 index f998ddd7..00000000 --- a/.github/workflows/parallel.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Parallel -on: - push: - paths: - - programs/parallel/install.bash - - .github/workflows/Parallel.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install Parallel - shell: su norm --command "bash --login {0}" - run: programs/parallel/install.bash - - - name: Install Parallel again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/parallel/install.bash diff --git a/.github/workflows/pipelines.yml b/.github/workflows/pipelines.yml deleted file mode 100644 index 35060807..00000000 --- a/.github/workflows/pipelines.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Bitbucket Pipelines CLI -on: - push: - paths: - - programs/pipelines/install.bash - - .github/workflows/Bitbucket Pipelines CLI.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install Bitbucket Pipelines CLI - shell: su norm --command "bash --login {0}" - run: programs/pipelines/install.bash - - - name: Install Bitbucket Pipelines CLI again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/pipelines/install.bash diff --git a/.github/workflows/pipx.yml b/.github/workflows/pipx.yml deleted file mode 100644 index 6c520a05..00000000 --- a/.github/workflows/pipx.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Pipx -on: - push: - paths: - - programs/pipx/install.bash - - .github/workflows/Pipx.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install Pipx - shell: su norm --command "bash --login {0}" - run: programs/pipx/install.bash - - - name: Install Pipx again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/pipx/install.bash diff --git a/.github/workflows/plantuml.yml b/.github/workflows/plantuml.yml deleted file mode 100644 index 2b6b86da..00000000 --- a/.github/workflows/plantuml.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: PlantUML -on: - push: - paths: - - programs/plantuml/install.bash - - .github/workflows/PlantUML.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install PlantUML - shell: su norm --command "bash --login {0}" - run: programs/plantuml/install.bash - - - name: Install PlantUML again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/plantuml/install.bash diff --git a/.github/workflows/powershell.yml b/.github/workflows/powershell.yml deleted file mode 100644 index ffeb29db..00000000 --- a/.github/workflows/powershell.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: PowerShell -on: - push: - paths: - - programs/powershell/install.bash - - .github/workflows/PowerShell.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install PowerShell - shell: su norm --command "bash --login {0}" - run: programs/powershell/install.bash - - - name: Install PowerShell again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/powershell/install.bash diff --git a/.github/workflows/q.yml b/.github/workflows/q.yml deleted file mode 100644 index 405d4058..00000000 --- a/.github/workflows/q.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: q -on: - push: - paths: - - programs/q/install.bash - - .github/workflows/q.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install q - shell: su norm --command "bash --login {0}" - run: programs/q/install.bash - - - name: Install q again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/q/install.bash diff --git a/.github/workflows/qsv.yml b/.github/workflows/qsv.yml deleted file mode 100644 index be869672..00000000 --- a/.github/workflows/qsv.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: qsv -on: - push: - paths: - - programs/qsv/install.bash - - .github/workflows/qsv.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install qsv - shell: su norm --command "bash --login {0}" - run: programs/qsv/install.bash - - - name: Install qsv again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/qsv/install.bash diff --git a/.github/workflows/rain.yml b/.github/workflows/rain.yml deleted file mode 100644 index 4ad975f4..00000000 --- a/.github/workflows/rain.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Rain -on: - push: - paths: - - programs/rain/install.bash - - .github/workflows/Rain.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install Rain - shell: su norm --command "bash --login {0}" - run: programs/rain/install.bash - - - name: Install Rain again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/rain/install.bash diff --git a/.github/workflows/rclone.yml b/.github/workflows/rclone.yml deleted file mode 100644 index ce74d37b..00000000 --- a/.github/workflows/rclone.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: rclone -on: - push: - paths: - - programs/rclone/install.bash - - .github/workflows/rclone.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install rclone - shell: su norm --command "bash --login {0}" - run: programs/rclone/install.bash - - - name: Install rclone again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/rclone/install.bash diff --git a/.github/workflows/rocketchat.yml b/.github/workflows/rocketchat.yml deleted file mode 100644 index 8b77b891..00000000 --- a/.github/workflows/rocketchat.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Rocketchat -on: - push: - paths: - - programs/rocketchat/install.bash - - .github/workflows/Rocketchat.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install Rocketchat - shell: su norm --command "bash --login {0}" - run: programs/rocketchat/install.bash - - - name: Install Rocketchat again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/rocketchat/install.bash diff --git a/.github/workflows/s5cmd.yml b/.github/workflows/s5cmd.yml deleted file mode 100644 index 5a5d0262..00000000 --- a/.github/workflows/s5cmd.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: s5cmd -on: - push: - paths: - - programs/s5cmd/install.bash - - .github/workflows/s5cmd.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install s5cmd - shell: su norm --command "bash --login {0}" - run: programs/s5cmd/install.bash - - - name: Install s5cmd again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/s5cmd/install.bash diff --git a/.github/workflows/saml2aws.yml b/.github/workflows/saml2aws.yml deleted file mode 100644 index b3eb7e0d..00000000 --- a/.github/workflows/saml2aws.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: saml2aws -on: - push: - paths: - - programs/saml2aws/install.bash - - .github/workflows/saml2aws.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install saml2aws - shell: su norm --command "bash --login {0}" - run: programs/saml2aws/install.bash - - - name: Install saml2aws again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/saml2aws/install.bash diff --git a/.github/workflows/semgrep.yml b/.github/workflows/semgrep.yml deleted file mode 100644 index 25ab50aa..00000000 --- a/.github/workflows/semgrep.yml +++ /dev/null @@ -1,18 +0,0 @@ -on: - pull_request: {} - push: - branches: - - main - - master -name: Semgrep -jobs: - semgrep: - name: Scan - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: returntocorp/semgrep-action@v1 - with: - auditOn: push - publishToken: ${{ secrets.SEMGREP_APP_TOKEN }} - publishDeployment: 502 diff --git a/.github/workflows/shellcheck.yml b/.github/workflows/shellcheck.yml deleted file mode 100644 index 5052e535..00000000 --- a/.github/workflows/shellcheck.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: ShellCheck -on: - push: - paths: - - programs/shellcheck/install.bash - - .github/workflows/ShellCheck.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install ShellCheck - shell: su norm --command "bash --login {0}" - run: programs/shellcheck/install.bash - - - name: Install ShellCheck again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/shellcheck/install.bash diff --git a/.github/workflows/snowsql.yml b/.github/workflows/snowsql.yml deleted file mode 100644 index 2f2594e7..00000000 --- a/.github/workflows/snowsql.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: SnowSQL -on: - push: - paths: - - programs/snowsql/install.bash - - .github/workflows/SnowSQL.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install SnowSQL - shell: su norm --command "bash --login {0}" - run: programs/snowsql/install.bash - - - name: Install SnowSQL again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/snowsql/install.bash diff --git a/.github/workflows/spotify.yml b/.github/workflows/spotify.yml deleted file mode 100644 index 3e0c6792..00000000 --- a/.github/workflows/spotify.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Spotify -on: - push: - paths: - - programs/spotify/install.bash - - .github/workflows/Spotify.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install Spotify - shell: su norm --command "bash --login {0}" - run: programs/spotify/install.bash - - - name: Install Spotify again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/spotify/install.bash diff --git a/.github/workflows/sqlean.yml b/.github/workflows/sqlean.yml deleted file mode 100644 index 24db3060..00000000 --- a/.github/workflows/sqlean.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: SQLean -on: - push: - paths: - - programs/sqlean/install.bash - - .github/workflows/SQLean.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install SQLean - shell: su norm --command "bash --login {0}" - run: programs/sqlean/install.bash - - - name: Install SQLean again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/sqlean/install.bash diff --git a/.github/workflows/terragrunt.yml b/.github/workflows/terragrunt.yml deleted file mode 100644 index 398db6a2..00000000 --- a/.github/workflows/terragrunt.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Terragrunt -on: - push: - paths: - - programs/terragrunt/install.bash - - .github/workflows/Terragrunt.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install Terragrunt - shell: su norm --command "bash --login {0}" - run: programs/terragrunt/install.bash - - - name: Install Terragrunt again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/terragrunt/install.bash diff --git a/.github/workflows/test_all.yml b/.github/workflows/test_all.yml index 632482ee..36d613ae 100644 --- a/.github/workflows/test_all.yml +++ b/.github/workflows/test_all.yml @@ -8,10 +8,26 @@ on: jobs: list_installers: - name: List installers + name: List all installers runs-on: ubuntu-latest outputs: installers: ${{steps.list_step.outputs.installers}} steps: - name: Check out code uses: actions/checkout@v4 + + - name: List installers + id: list_step + run: | + { + printf "installers=" + find programs -mindepth 1 -maxdepth 1 -printf "%P\n" \ + | sort | jq -R | jq -s -c -M + } >> "$GITHUB_OUTPUT" + + test_installers: + name: Test installers + needs: list_installers + uses: ./.github/workflows/test_installers.yml + with: + installers: ${{needs.list_installers.outputs.installers}} diff --git a/.github/workflows/test_changes.yml b/.github/workflows/test_changes.yml index 4cdb3677..5badfaf5 100644 --- a/.github/workflows/test_changes.yml +++ b/.github/workflows/test_changes.yml @@ -1,15 +1,38 @@ -name: Test changes +name: Test changed installers on: push: - workflow_dispatch: jobs: - list_changes: + list_installers: name: List changed installers runs-on: ubuntu-latest + outputs: + installers: ${{steps.dirs.outputs.changed_installers}} steps: - - name: Debug + - name: Check out code + uses: actions/checkout@v4 + + - name: Get changed installer files + id: files + uses: tj-actions/changed-files@v44 + with: + files: programs/** + + - name: Get changed installer names + id: dirs env: - GITHUB: ${{toJson(github)}} + CHANGED_FILES: ${{steps.changed-installers.outputs.all_changed_files}} run: | - echo "$GITHUB" + { + printf "changed_installers=" + printf "%s" "$CHANGED_FILES" \ + | cut -d/ -f2 | sort -u | jq -R | jq -s -c -M + } >> "$GITHUB_OUTPUT" + + test_installers: + name: Test installers + needs: list_installers + if: needs.list_installers.outputs.installers != '[]' + uses: ./.github/workflows/test_installers.yml + with: + installers: ${{needs.list_installers.outputs.installers}} diff --git a/.github/workflows/test_installer.yml b/.github/workflows/test_installer.yml deleted file mode 100644 index dd72dde5..00000000 --- a/.github/workflows/test_installer.yml +++ /dev/null @@ -1,54 +0,0 @@ -name: Test Installer -on: - schedule: - # To decrease the chance of delay, avoid the start of the hour. - # https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#schedule - - cron: "17 5 * * *" - workflow_dispatch: - -jobs: - list_installers: - name: List installers - runs-on: ubuntu-latest - outputs: - installers: ${{ steps.list_step.outputs.installers}} - steps: - - name: Check out code - uses: actions/checkout@v4 - - - name: List installers - id: list_step - run: | - { - printf "installers=" - find programs -mindepth 1 -maxdepth 1 -printf "%P\n" \ - | sort | jq -R | jq -s -c -M - } >> "$GITHUB_OUTPUT" - - test_installers: - name: Test installers - needs: list_installers - runs-on: ubuntu-latest - container: - image: ${{matrix.os}} - strategy: - fail-fast: false - matrix: - installer: ${{ fromJson(needs.list_installers.outputs.installers) }} - os: ["ubuntu:20.04", "ubuntu:22.04"] - steps: - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install ${{matrix.installer}} - shell: su norm --command "bash --login {0}" - run: programs/${{matrix.installer}}/install.bash - - - name: Install ${{matrix.installer}} again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/${{matrix.installer}}/install.bash diff --git a/.github/workflows/test_installers.yml b/.github/workflows/test_installers.yml new file mode 100644 index 00000000..9d9b6f8c --- /dev/null +++ b/.github/workflows/test_installers.yml @@ -0,0 +1,36 @@ +name: Test installers +on: + workflow_call: + inputs: + installers: + description: A JSON list of install names + required: true + type: string + +jobs: + test_installers: + name: Test installers + runs-on: ubuntu-latest + container: + image: ${{matrix.os}} + strategy: + fail-fast: false + matrix: + installer: ${{ fromJson(inputs.installers) }} + os: ["ubuntu:20.04", "ubuntu:22.04"] + steps: + - name: Check out code + uses: actions/checkout@v4 + + - name: Prepare Docker + run: ./scripts/prepare_docker.bash + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Install ${{matrix.installer}} + shell: su norm --command "bash --login {0}" + run: programs/${{matrix.installer}}/install.bash + + - name: Install ${{matrix.installer}} again (test idempotency) + shell: su norm --command "bash --login {0}" + run: programs/${{matrix.installer}}/install.bash diff --git a/.github/workflows/tfenv.yml b/.github/workflows/tfenv.yml deleted file mode 100644 index c104dff8..00000000 --- a/.github/workflows/tfenv.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: tfenv -on: - push: - paths: - - programs/tfenv/install.bash - - .github/workflows/tfenv.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install tfenv - shell: su norm --command "bash --login {0}" - run: programs/tfenv/install.bash - - - name: Install tfenv again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/tfenv/install.bash diff --git a/.github/workflows/tgenv.yml b/.github/workflows/tgenv.yml deleted file mode 100644 index b225ebae..00000000 --- a/.github/workflows/tgenv.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: tgenv -on: - push: - paths: - - programs/tgenv/install.bash - - .github/workflows/tgenv.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install tgenv - shell: su norm --command "bash --login {0}" - run: programs/tgenv/install.bash - - - name: Install tgenv again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/tgenv/install.bash diff --git a/.github/workflows/typora.yml b/.github/workflows/typora.yml deleted file mode 100644 index 2dcd4753..00000000 --- a/.github/workflows/typora.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Typora -on: - push: - paths: - - programs/typora/install.bash - - .github/workflows/Typora.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install Typora - shell: su norm --command "bash --login {0}" - run: programs/typora/install.bash - - - name: Install Typora again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/typora/install.bash diff --git a/.github/workflows/vagrant.yml b/.github/workflows/vagrant.yml deleted file mode 100644 index dfcea682..00000000 --- a/.github/workflows/vagrant.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Vagrant -on: - push: - paths: - - programs/vagrant/install.bash - - .github/workflows/Vagrant.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install Vagrant - shell: su norm --command "bash --login {0}" - run: programs/vagrant/install.bash - - - name: Install Vagrant again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/vagrant/install.bash diff --git a/.github/workflows/vale.yml b/.github/workflows/vale.yml deleted file mode 100644 index 01327fbf..00000000 --- a/.github/workflows/vale.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Vale -on: - push: - paths: - - programs/vale/install.bash - - .github/workflows/Vale.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install Vale - shell: su norm --command "bash --login {0}" - run: programs/vale/install.bash - - - name: Install Vale again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/vale/install.bash diff --git a/.github/workflows/virtualbox.yml b/.github/workflows/virtualbox.yml deleted file mode 100644 index e86994cf..00000000 --- a/.github/workflows/virtualbox.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: VirtualBox -on: - push: - paths: - - programs/virtualbox/install.bash - - .github/workflows/VirtualBox.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install VirtualBox - shell: su norm --command "bash --login {0}" - run: programs/virtualbox/install.bash - - - name: Install VirtualBox again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/virtualbox/install.bash diff --git a/.github/workflows/vscode.yml b/.github/workflows/vscode.yml deleted file mode 100644 index 6aef6852..00000000 --- a/.github/workflows/vscode.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Visual Studio Code -on: - push: - paths: - - programs/vscode/install.bash - - .github/workflows/Visual Studio Code.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install Visual Studio Code - shell: su norm --command "bash --login {0}" - run: programs/vscode/install.bash - - - name: Install Visual Studio Code again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/vscode/install.bash diff --git a/.github/workflows/workspacesclient.yml b/.github/workflows/workspacesclient.yml deleted file mode 100644 index e3ac2657..00000000 --- a/.github/workflows/workspacesclient.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: AWS Workspaces Client -on: - push: - paths: - - programs/workspacesclient/install.bash - - .github/workflows/AWS Workspaces Client.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install AWS Workspaces Client - shell: su norm --command "bash --login {0}" - run: programs/workspacesclient/install.bash - - - name: Install AWS Workspaces Client again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/workspacesclient/install.bash diff --git a/.github/workflows/yq.yml b/.github/workflows/yq.yml deleted file mode 100644 index e352f897..00000000 --- a/.github/workflows/yq.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: yq -on: - push: - paths: - - programs/yq/install.bash - - .github/workflows/yq.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install yq - shell: su norm --command "bash --login {0}" - run: programs/yq/install.bash - - - name: Install yq again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/yq/install.bash diff --git a/.github/workflows/zoom.yml b/.github/workflows/zoom.yml deleted file mode 100644 index 83b014d5..00000000 --- a/.github/workflows/zoom.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Zoom -on: - push: - paths: - - programs/zoom/install.bash - - .github/workflows/Zoom.yml - - workflow_dispatch: - -jobs: - test_idempotent_installation: - - strategy: - fail-fast: false - matrix: - os: - - "ubuntu:20.04" - - "ubuntu:22.04" - - runs-on: ubuntu-latest - container: - image: "${{ matrix.os }}" - - steps: - - - name: Check out code - uses: actions/checkout@v4 - - - name: Prepare Docker - run: ./scripts/prepare_docker.bash - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Install Zoom - shell: su norm --command "bash --login {0}" - run: programs/zoom/install.bash - - - name: Install Zoom again (test idempotency) - shell: su norm --command "bash --login {0}" - run: programs/zoom/install.bash diff --git a/README.md b/README.md index 0d29f8ed..eaad4305 100644 --- a/README.md +++ b/README.md @@ -34,29 +34,14 @@ To test the transition to Ubuntu 22, use `test_local_22.bash` in the same way. ## Continuous integration (CI) with Github Actions -Each installer script is tested with a CI workflow. +A generic CI workflow tests each installer. It prepares the Ubuntu container as in the development environment, runs the installer, and then runs the installer again to test idempotency. -Each workflow prepares the Ubuntu container as in the development environment, -runs the installer, and then runs the installer again to test idempotency. - -A workflow for each installer can be generated automatically from a template. - -To generate the workflow for all installers, use the generate_ci.bash script. - -```bash -./generate_ci.bash -``` - -You should regenerate the workflows after either changing the template or adding -a new installer script. +A helper workflow is scheduled once a day to test all installers. -Push the result to Github to run the workflow using Github Actions. +Another helper workflow detects changes and tests any changed installers. -```bash -git add .github/workflow -git commit -git push -``` +A generic workflow detects prepares the Ubuntu container as in the development environment, +runs the installer, and then runs the installer again to test idempotency. ### Duplicate workflow names @@ -102,7 +87,7 @@ aws-gate https://github.com/xen0l/aws-gate/ ``` -pipx install aws-gate +pipx install aws-gate ``` Docker non-root stuff with newgrp and all that diff --git a/generate_ci.bash b/generate_ci.bash deleted file mode 100755 index 6ad78d51..00000000 --- a/generate_ci.bash +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -set -euo pipefail - -template=".github/workflows/_program.yml.template" - -for program in programs/**/install.bash; do - - echo "Generating CI for ${program}" - - workflow_filename="$(basename "$(dirname "${program}")")" - - set +e - program_name="$(grep --perl-regexp --only-matching '(?<=# Name: ).*$' "${program}")" - set -e - - # shellcheck disable=SC2002 - cat "${template}" | - program_name="${program_name:-$workflow_filename}" \ - program_script="${program}" \ - envsubst \ - > .github/workflows/"${workflow_filename}.yml" - -done