diff --git a/.github/workflows/quickget-tests.yml b/.github/workflows/quickget-tests.yml new file mode 100644 index 0000000..f8cd73c --- /dev/null +++ b/.github/workflows/quickget-tests.yml @@ -0,0 +1,113 @@ +--- # This is a basic workflow to help test quickget + +name: quickget tests + +# Controls when the action will run. +on: + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + # Build at 00:00 on every 12th day-of-month. + #schedule: + # - cron: "0 0 */12 * *" + # Triggers the workflow on push or pull request events but only for the master branch + push: + branches: '**' #'!master' # excludes master + paths: [ quickget ] + pull_request: + branches: '**' # matches every branch + paths: + - quickget + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + job1: + name: All supported + runs-on: ubuntu-latest + # The type of runner that the job will run on + #runs-on: ubuntu-latest + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v4 + - name: List all supported systems in plain text + run: | + mkdir -p results + echo -e "\n\n Supported:\n\n" + ./quickget -l | tee results/supported.txt + echo -e "\n\n Finished\n\n" + + - uses: actions/upload-artifact@v4 + with: + name: supported + path: results/supported.txt + + job2: + name: All info + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Show info about all OS + run: | + export TERM=xterm-256color + #sudo apt install -y neofetch + #echo -e "\n\n" + #neofetch + #echo -e "\n\n" + echo -e "\n\n OSinfo:\n\n" + distros="$(./quickget | sed '/^$/q' | tail -n +3)" + mkdir -p results + for os in ${distros}; do + echo -e "\n\n ${os}" && ./quickget -12345 "${os}" | tee -a results/infos.txt + done + echo -e "\n\n Finished\n\n" + + - uses: actions/upload-artifact@v4 + with: + name: infos + path: results/infos.txt + + job3: + name: All address + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: List all supported systems download URLs + run: | + export TERM=xterm-256color + distros="$(./quickget | sed '/^$/q' | tail -n +3)" + echo -e "\n\n ISOs:\n\n" + mkdir -p results + for os in ${distros}; do + echo -e "\n\n ${os}" && ./quickget -ua "${os}" | tee -a results/urls.txt + done + echo -e "\n\n Finished\n\n" + + - uses: actions/upload-artifact@v4 + with: + name: urls + path: results/urls.txt + + job4: + name: All checks + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Checking if all downloads for Operating Systems are available... + run: | + export TERM=xterm-256color + distros="$(./quickget | sed '/^$/q' | tail -n +3)" + echo -e "\n\n ISOs availability:\n\n" + mkdir -p results + for os in ${distros}; do + echo -e "\n\n ${os}" && ./quickget -ca "${os}" | tee -a results/checks.txt + done + echo -e "\n\n Finished\n\n" + + - uses: actions/upload-artifact@v4 + with: + name: checks + path: results/checks.txt