Skip to content

v1.4.0

v1.4.0 #9

Workflow file for this run

name: Make a new release
on:
release:
branches:
- master
types:
- published
jobs:
run:
name: Build latest code
runs-on: ubuntu-latest
container:
image: walkero/amigagccondocker:os4-gcc11-exp
volumes:
- '${{ github.workspace }}:/opt/code'
steps:
- name: Pull code
uses: actions/checkout@v4
- name: Add repository to git safe directories
run: |
git config --global --add safe.directory $GITHUB_WORKSPACE
git config --global --add safe.directory /opt/code
- name: Compile clib4
run: |
cd /opt/code && \
make -j1 -f GNUmakefile.os4 OS=os4 SHARED=no GITTAG=${{ github.event.release.tag_name }}
- name: Create the LHA release archive
run: |
make -f GNUmakefile.os4 release && \
mv clib4.lha clib4-${{ github.event.release.tag_name }}.lha
- name: Create the DEB release archive
run: |
make -f GNUmakefile.os4 dpkg DPKG_LIB=clib4-${{ github.event.release.tag_name }}_amd64
- name: Upload LHA release file in GitHub
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: /opt/code/clib4-${{ github.event.release.tag_name }}.lha
asset_name: clib4-${{ github.event.release.tag_name }}.lha
asset_content_type: application/x-lzh-compressed
- name: Install gh binary
run: |
mkdir -p -m 755 /etc/apt/keyrings \
&& wget -qO- https://cli.github.com/packages/githubcli-archive-keyring.gpg | tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null \
&& chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
&& apt update \
&& apt install gh -y
- name: Upload DEB release file in GitHub
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: /opt/code/clib4-${{ github.event.release.tag_name }}_amd64.deb
asset_name: clib4-${{ github.event.release.tag_name }}_amd64.deb
asset_content_type: application/vnd.debian.binary-pac
- name: Upload DEB release file to the server
uses: kostya-ten/ssh-server-deploy@v4
with:
host: ${{ secrets.DEBSERVER_HOST }}
port: ${{ secrets.DEBSERVER_PORT }}
username: ${{ secrets.DEBSERVER_USERNAME }}
private_key: ${{ secrets.DEBSERVER_PRIVATE_KEY }}
scp_source: clib4-${{ github.event.release.tag_name }}_amd64.deb
scp_target: /opt/amigarepo/ubuntu/pool/main
before_script: |
rm /opt/amigarepo/ubuntu/pool/main/clib4*.deb
after_script: |
/root/regenerate-packages.sh
- name: Create Pull Request
id: cpr
uses: peter-evans/create-pull-request@v6
with:
commit-message: Release ${{ github.event.release.tag_name }} changes
branch: release/${{ github.event.release.tag_name }}
base: master
body: Automated changes as part of the release
title: Version files changes by the github bot
- name: Enable Pull Request Automerge
if: steps.cpr.outputs.pull-request-operation == 'created'
uses: peter-evans/enable-pull-request-automerge@v3
with:
pull-request-number: ${{ steps.cpr.outputs.pull-request-number }}
merge-method: squash
# - name: Prepare OS4Depot release
# run: |
# mkdir os4depot-release
# cp clib4-${{ github.event.release.tag_name }}.lha ./os4depot-release/clib4.lha
# cp ./os4depot.readme ./os4depot-release/clib4_lha.readme
# sed -i "s/VERSION_TAG/${{ github.event.release.tag_name }}/" ./os4depot-release/os4depot.readme
# sed -i "s/OS4DEPOT_PASSPHRASE/${{ secrets.OS4DEPOT_PASSPHRASE }}/" ./os4depot-release/os4depot.readme
# - name: Release on OS4Depot
# uses: SamKirkland/FTP-Deploy-Action@v4.3.4
# with:
# server: os4depot.net
# port: 21
# username: ftp
# password:
# server-dir: ./upload
# local-dir: /opt/code/os4depot-release/
- name: Notify on Discord on successful release
uses: appleboy/discord-action@master
with:
webhook_id: ${{ secrets.DISCORD_ANNOUNCEMENTS_ID }}
webhook_token: ${{ secrets.DISCORD_ANNOUNCEMENTS_TOKEN }}
message: "New release of clib4: **${{ github.event.release.tag_name }}** has been created. Check it out at: https://github.com/AmigaLabs/clib4/releases/tag/${{ github.event.release.tag_name }}"
username: GitHub Actions
avatar_url: "https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png"