Skip to content

Commit

Permalink
ci: add release workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
KonradHoeffner committed Mar 22, 2024
1 parent 4fbe0ec commit bf0dedf
Show file tree
Hide file tree
Showing 5 changed files with 82 additions and 20 deletions.
19 changes: 12 additions & 7 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
name: build

on:
workflow_dispatch:
push:
branches:
- master

jobs:
build:
runs-on: ubuntu-latest
Expand All @@ -14,9 +14,14 @@ jobs:
uses: actions/checkout@v4

- name: Install dependencies
run: |
sudo apt-get install -y raptor2-utils
pip install pyshacl
run: sudo apt-get install -y raptor2-utils

- name: Build
run: scripts/combine | tee $GITHUB_STEP_SUMMARY

- name: Build and Validate
run: ./scripts/shacl
- name: Deploy
uses: JamesIves/github-pages-deploy-action@v4
with:
branch: dist
folder: dist
single-commit: true
46 changes: 46 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Release
on:
push:
tags: '[2-9][0-9]\.[0-9][0-9]'
jobs:
create-release:
name: Create release
runs-on: ubuntu-latest
outputs:
upload_url: ${{ steps.create-release.outputs.upload_url }}
steps:
- name: Changelog
id: changelog
uses: mikepenz/release-changelog-builder-action@v4
with:
commitMode: true
configurationJson: |
{
"pr_template": "- #{{TITLE}}",
"template": "#{{UNCATEGORIZED}}"
}
- name: Checkout code
uses: actions/checkout@v4

- name: Install dependencies
run: sudo apt-get install -y raptor2-utils

- name: Build
id: build
run: |
scripts/combine | tee $GITHUB_STEP_SUMMARY
echo 'summary<<EOF' >> $GITHUB_OUTPUT
cat ${GITHUB_STEP_SUMMARY} >> $GITHUB_OUTPUT
echo 'EOF' >> $GITHUB_OUTPUT
- name: Create Release
id: create-release
uses: softprops/action-gh-release@v2
with:
body: |
${{ steps.build.outputs.summary }}
${{ steps.changelog.outputs.changelog }}
files: |
dist/snik.nt
dist/snik.ttl
6 changes: 3 additions & 3 deletions .github/workflows/shacl.yml
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
name: SHACL

on:
workflow_dispatch:
push:
branches:
- master

jobs:
shacl:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Build and Validate
- name: Validate
uses: konradhoeffner/shacl@v1
with:
data: |
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
*~
.*
dist
!.github
30 changes: 20 additions & 10 deletions scripts/combine
Original file line number Diff line number Diff line change
@@ -1,21 +1,31 @@
#/bin/sh
#!/bin/sh
# Combine all of SNIK into one file.
# "source scripts/combine" in CI so GITHUB_STEP_SUMMARY gets exported

MYPATH=`dirname "$0"`
MYPATH=`( cd "$MYPATH" && pwd )`
DISTPATH=$MYPATH/../dist
mkdir -p $DISTPATH
cat $MYPATH/../*.ttl $MYPATH/../*.nt | rapper -i turtle -o turtle - http://www.snik.eu/ontology/ > $DISTPATH/snik.ttl
cd $DISTPATH
GITHUB_STEP_SUMMARY="`wc -l snik.nt | cut -f1 -d ' '` triples \n\n"
rapper -i turtle -o ntriples snik.ttl > snik.nt
printf "`wc -l snik.nt | cut -f1 -d ' '` triples\n\n"
# awk supports decimal places
if type awk > /dev/null 2>&1; then
GITHUB_STEP_SUMMARY+="| Filename | bytes | KiB | MiB | KB | MB |\n"
GITHUB_STEP_SUMMARY+="| -------- | ----- | --- | --- | -- | -- |\n"
echo "| Filename | bytes | KiB | MiB | KB | MB |"
echo "| -------- | ----- | --- | --- | -- | -- |"
# "command ls" in case it is aliased to eza or something else, we need the exact ls output format
GITHUB_STEP_SUMMARY+=`LC_ALL=C command ls -l snik.* | awk '{printf("|%10s |%10s |%9s |%9s |%9s |%9s |\n", $9, $5, $5/1024, $5/1024^2, $5/1000, $5/1000^2)}'`
LC_ALL=C command ls -l snik.* | awk '{printf("|%11s |%10s |%9s |%9s |%9s |%9s |\n", $9, $5, $5/1024, $5/1024^2, $5/1000, $5/1000^2)}'
fi

printf "$GITHUB_STEP_SUMMARY"
export GITHUB_STEP_SUMMARY
cd ..
printf "\n## Rounded\n\n"
# bash has easier command substitution but only integers
echo "| Filename | triples | bytes | KiB | MiB | KB | MB |"
echo "| --------- | ------- | ----- | --- | --- | -- | -- |"
command ls -l snik.* | tr -s ' ' | cut -f5,9 -d ' ' | while read -r size filename; do
triples=$(rapper -i turtle -c "$filename" 2>&1 | grep -o "[0-9]*")
kb=$((size / 1000))
mb=$((size / 1000000))
kib=$((size / 1024))
mib=$((size / 1024 / 1024))
#echo "$size $filename"
printf "| %11s | %11s | %12s | %9s | %7s | %9s |%7s |\n" $filename $triples $size $kib $mib $kb $mb
done

0 comments on commit bf0dedf

Please sign in to comment.