Skip to content

Test 100 random apps 🧪 #73

Test 100 random apps 🧪

Test 100 random apps 🧪 #73

Workflow file for this run

name: "Test 100 random apps 🧪"
env:
TERM: xterm
on:
push:
branches: '**'
paths:
- 'modules/**'
- INSTALL
- APP-MANAGER
- '!programs/**'
pull_request:
branches: '**'
paths:
- 'modules/**'
- INSTALL
- APP-MANAGER
- '!programs/**'
workflow_dispatch:
schedule:
- cron: '0 23 * * *'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
install:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Installing
run: |
printf '\n\tCreating directory structure...\n'
mkdir -p results /usr/local/bin
printf '\n\tInstalling dependencies...\n'
sudo apt install -y wget curl zsync 2> /dev/null
printf '\n\tMaking needed files executable...\n'
chmod +x ./INSTALL
printf '\n\tInstalling AM...\n'
sudo ./INSTALL
printf '\n'
matrix:
needs: install
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Generate matrix
id: set-matrix
run: |
printf '\tSetting up environment...\n'
randomAppsList=$(cut -d' ' -f2 < /opt/am/x86_64-apps | shuf -n 100)
apps="$randomAppsList"
# Output the matrix in a format GitHub Actions can use
echo "$randomAppsList" #| tee >> "$GITHUB_OUTPUT"
shell: bash
- name: Debug Matrix Output
run: |
echo "Matrix: ${{ steps.set-matrix.outputs.matrix }}"
tests:
needs: matrix
runs-on: ubuntu-latest
strategy:
matrix:
app: ${{ fromJson(needs.matrix.outputs.matrix) }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Check
run: |
ls -al .github/workflows
echo "Installed version: $(am version)"
- name: Install ${{ matrix.app }}
run: |
am install ${{ matrix.app }}
# - name: Test ${{ matrix.app }} installation
# run: |
# ./am run ${{ matrix.app }}
- name: Uninstall ${{ matrix.app }}
run: |
am remove ${{ matrix.app }}