Skip to content
This repository has been archived by the owner on Jan 25, 2024. It is now read-only.

Deploying utils package #99

Deploying utils package

Deploying utils package #99

Workflow file for this run

name: Deploying utils package
on:
schedule:
- cron: "0 0 * * *" # run at the start of every day after script repos update
workflow_dispatch:
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
jobs:
check-sha:
runs-on: ubuntu-latest
outputs:
match_results: ${{ steps.check-shas.outputs.match_results }}
utils_remote_sha: ${{ steps.check-shas.outputs.utils_remote_sha }}
steps:
- name: Checking out repository code
uses: actions/checkout@v3
with:
fetch-depth: 1
- name: Download remote commit shas
id: check-shas
run: |
# Download remote shas
utils_latest_sha=$(curl -s https://api.github.com/repos/eupnea-project/eupnea-utils/commits/main | jq -r '.sha')
# fail if curl result is empty
if [[ "$utils_latest_sha" = "null" ]]; then
echo "latest_tag is empty"
exit 1
fi
# Check remote shas against cached ones
match_results=$([[ "$(cat cache/utils_sha-cache.txt | head -1)" == "$utils_latest_sha" ]] && echo "true" || echo "false")
echo "match_results=$match_results" >> $GITHUB_OUTPUT
# Add sha to output
echo "utils_remote_sha=$utils_latest_sha" >> $GITHUB_OUTPUT
deploy-repo:
runs-on: ubuntu-latest
needs: check-sha # needs for the vars from the previous job
# Only run script when remote sha has changed, aka the results DON'T match
if: needs.check-sha.outputs.match_results == 'false'
steps:
- name: Checking out repository code
uses: actions/checkout@v3
with:
fetch-depth: 1
- name: Update local commits sha file
run: |
echo "${{ needs.check-sha.outputs.utils_remote_sha }}" > cache/utils_sha-cache.txt
- name: Bump version in utils control file
run: |
CURRENT_VERSION=$(sed -n '2p' control-files/utils-control | sed 's/.*://' | xargs) # get current version from control file
NEXTVERSION=$(echo ${CURRENT_VERSION} | awk -F. -v OFS=. '{$NF += 1 ; print}') # bump version
sed -i "2s/.*/Version: ${NEXTVERSION}/" control-files/utils-control # update version in control file
- name: Creating utils deb package
run: bash pack-scripts/pack-utils.sh
- name: Updating files in main branch
uses: stefanzweifel/git-auto-commit-action@v4
with:
# Disable setting repo owner as commit author
commit_user_name: github-actions[bot]
commit_user_email: 41898282+github-actions[bot]@users.noreply.github.com
commit_author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
# Optional. Commit message for the created commit.
# Defaults to "Apply automatic changes"
commit_message: Update files in main branch
# Only include needed files
file_pattern: 'control-files/utils-control cache/utils_sha-cache.txt'
- name: Adding debian stable util packages
uses: smeinecke/[email protected]
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
repo_supported_arch: |
amd64
i386 # 32 bit systems arent really supported but apt throws a warning otherwise
repo_supported_version: |
mantic
jammy
stable
file: eupnea-utils*.deb
file_target_version: stable
public_key: ${{ secrets.PUBLIC }}
private_key: ${{ secrets.PRIVATE }}
key_passphrase: ""
repo_folder: "debian_ubuntu"
- name: Adding jammy util packages
uses: smeinecke/[email protected]
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
repo_supported_arch: |
amd64
i386 # 32 bit systems arent really supported but apt throws a warning otherwise
repo_supported_version: |
mantic
jammy
stable
file: eupnea-utils*.deb
file_target_version: jammy
public_key: ${{ secrets.PUBLIC }}
private_key: ${{ secrets.PRIVATE }}
key_passphrase: ""
repo_folder: "debian_ubuntu"
- name: Adding mantic util packages
uses: smeinecke/[email protected]
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
repo_supported_arch: |
amd64
i386 # 32 bit systems arent really supported but apt throws a warning otherwise
repo_supported_version: |
mantic
jammy
stable
file: eupnea-utils*.deb
file_target_version: mantic
public_key: ${{ secrets.PUBLIC }}
private_key: ${{ secrets.PRIVATE }}
key_passphrase: ""
repo_folder: "debian_ubuntu"