ci: Run installation check for all provided versions of codemeter-lite #3
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI ubuntu verify installation | ||
'on': | ||
workflow_call: null | ||
jobs: | ||
fetch_installations: | ||
runs-on: ubuntu-latest | ||
outputs: | ||
lines: ${{ steps.extract-lines.outputs.lines }} | ||
steps: | ||
- name: Checkout (GitHub) | ||
uses: actions/checkout@v4 | ||
- name: Provide the repo locally via http | ||
run: nohup python3 -m http.server 8080 & | ||
working-directory: ./ubuntu/ | ||
- name: Install maintainer publickey | ||
run: curl -s --compressed http://localhost:8080/burfeind_jan-niklas.gpg | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/burfeind_jan-niklas.gpg | ||
- name: Add local repo to APT sources | ||
run: echo "deb [signed-by=/etc/apt/trusted.gpg.d/burfeind_jan-niklas.gpg] http://localhost:8080 ./" | sudo tee /etc/apt/sources.list.d/localrepo.list | ||
- name: update apt | ||
run: sudo apt-get update | ||
- name: Get available versions of c-lite | ||
id: get_versions | ||
run: | | ||
apt-cache madison codemeter-lite | grep "http://localhost:8080" | awk '{print $3}' > versions.txt | ||
cat versions.txt | ||
- name: Trigger downstream jobs for each version | ||
run: | | ||
BRANCH_NAME="${{ github.head_ref || github.ref_name }}" | ||
while read version; do | ||
echo "Triggering installation for version $version" | ||
gh workflow run ci_ubuntu_verify_installation.yml -f package_version=$version --ref $BRANCH_NAME | ||
done < versions.txt | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
- name: Kill the webserver again | ||
run: sudo pkill python3 | ||
- name: Extract lines from versions.txt | ||
id: extract-lines | ||
run: | | ||
versions=$(cat versions.txt | tr '\n' ',') | ||
echo "::set-output name=versions::${versions}" | ||
package_is_installable: | ||
runs-on: ubuntu-latest | ||
needs: fetch_installations | ||
strategy: | ||
matrix: | ||
version: ${{ fromJson(needs.prepare-matrix.outputs.lines) }} | ||
steps: | ||
- name: Checkout (GitHub) | ||
uses: actions/checkout@v4 | ||
- name: Provide the repo locally via http | ||
run: nohup python3 -m http.server 8080 & | ||
working-directory: ./ubuntu/ | ||
- name: Install maintainer publickey | ||
run: curl -s --compressed http://localhost:8080/burfeind_jan-niklas.gpg | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/burfeind_jan-niklas.gpg | ||
- name: Add local repo to APT sources | ||
run: echo "deb [signed-by=/etc/apt/trusted.gpg.d/burfeind_jan-niklas.gpg] http://localhost:8080 ./" | sudo tee /etc/apt/sources.list.d/localrepo.list | ||
- name: Update apt | ||
run: sudo apt-get update | ||
- name: Install codemeter-lite in version ${{ matrix.version }} | ||
run: sudo apt-get install -y codemeter-lite=${{ matrix.version }} | ||
- name: Kill the webserver again | ||
run: sudo pkill python3 | ||
- name: Codemeter is running | ||
run: systemctl status codemeter |