Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Github Actions #163

Merged
merged 9 commits into from
Jan 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 46 additions & 7 deletions .github/workflows/makeRelease.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
name: Make a new release
on:
release:
branches:
- master
types:
- published

Expand All @@ -14,16 +16,19 @@ jobs:
- '${{ github.workspace }}:/opt/code'
steps:
- name: Pull code
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Compile clib4
run: |
cd /opt/code && \
make -j1 -f GNUmakefile.os4 OS=os4 SHARED=no
- name: Create the release archive
- name: Create the LHA release archive
run: |
make -f GNUmakefile.os4 release && \
mv clib4.lha clib4-${{ github.event.release.tag_name }}.lha
- name: Upload Release Asset
- 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 }}
Expand All @@ -32,7 +37,41 @@ jobs:
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: Release on OS4Depot
# - name: Release on Aminet
# - name: Prepare Ubuntu apt packages
# - name: Release on Ubuntu apt server
- 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
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here deletes the previous released of the clib4 DEB file in the server

after_script: |
/root/regenerate-packages.sh
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This script generates the packages files that are needed for the apt to access them. This is needed since we upgraded the clib4 file

- 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
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The OS4DEPOT_PASSPHRASE needs to be added to the Secrets of the repository

- 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/
26 changes: 26 additions & 0 deletions .github/workflows/mergeMaster.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Merge into master build
on:
pull_request:
branches:
- master
types:
- closed

jobs:
run_if_merged:
if: github.event.pull_request.merged == true
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: Compile clib4
run: |
cd /opt/code && \
make -j1 -f GNUmakefile.os4 OS=os4 SHARED=no
- name: Create the release archive
run: make -f GNUmakefile.os4 release
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
name: Build with Docker
name: Pull request build
on:
push:
pull_request:
branches:
- master
- actions-cicd
pull_request:
workflow_dispatch:
types:
- opened
- reopened

jobs:
run:
Expand All @@ -17,7 +17,7 @@ jobs:
- '${{ github.workspace }}:/opt/code'
steps:
- name: Pull code
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Compile clib4
run: |
cd /opt/code && \
Expand Down
2 changes: 1 addition & 1 deletion GNUmakefile.os4
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ LIB_ROOT ?= $(shell pwd)
LIB_DIR = $(LIB_ROOT)/library
BUILD_DIR = $(LIB_ROOT)/build
OUTPUT_LIB = $(BUILD_DIR)/lib
DPKG_LIB = clib4_1.0_amd64
DPKG_LIB ?= clib4_1.0_amd64
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did this to pass this value during the release action as an argument. Every release will take the version from the release tag.


##############################################################################

Expand Down
28 changes: 28 additions & 0 deletions os4depot.readme
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: clib4
description: clib4 library
version: VERSION_TAG
author: Andrea Palmatè
submitter: Andrea Palmatè
email: andrea@amigasoft.net
url: https://github.com/AmigaLabs/clib4
category: development/library/misc
replaces: development/library/misc/clib4.lha
requirements: adtools
license: BSD
minosversion: 4.1
distribute: yes
passphrase: OS4DEPOT_PASSPHRASE
hend:
This is a fork of official clib2 present in adtools. The point of this
library is to make it Amiga OS4 only to maintain it easily and add all the
missing clib2 features that are difficult to add also on classic Amigas.
Classic Amigas has also ixemul that is the most complete, POSIX compliant,
library we have. It is a useless share code that most probably no one will
use. The goal is to try to make it POSIX compliant and fix also all the C++
problems we have with newer compilers. All warnings (except really few ones)
produced by GCC 10 and above are now gone.

All deprecated OS4 functions are replaced by modern OS4 one.

If you find any issue, please let us know at:
https://github.com/AmigaLabs/clib4/issues
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file will be uploaded to OS4Depot on every release. Please feel free to alter the text and also add more information. Also, please check the rest of the fields, if they need changes.