Skip to content
Open
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
10 changes: 0 additions & 10 deletions .github/workflows/build-library.yml

This file was deleted.

4 changes: 0 additions & 4 deletions .github/workflows/lint-repo.yml

This file was deleted.

106 changes: 106 additions & 0 deletions .github/workflows/package-development-workflow.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
# This workflow is going to be used during the development phase of the project
# The workflow builds and tests the the sources on the following triggers:
# - once a change is pushed to the main branch or any of its sub-branches
name: Library development workflow

on:
push:
branches:
- 'main' # runs the workflow, once new changes have been integrated to main
pull_request:
workflow_call:
secrets:
APAX_TOKEN:
required: true
inputs:
ref:
required: true
type: string
version:
required: false
type: string
default: '0.0.1'

permissions:
contents: read # required for checkout
packages: read # required for pulling the container
actions: write # required for artifact uploading

jobs:
build-and-test:
name: Build and Test
runs-on: ubuntu-24.04
container:
image: ghcr.io/simatic-ax/ci-images/apax-ci-image:3.5.0
credentials:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Checkout Code
uses: actions/checkout@v4
with:
# either check out a provided reference, or use the reference that triggered this workflow, e.g. a push, PR or a release
ref: ${{ inputs.ref != '' && inputs.ref || github.ref }}

- name: Login to required registries
uses: simatic-ax/actions/apax-login@v3
with:
apax-token: ${{ secrets.APAX_TOKEN }}
registries: |
https://npm.pkg.github.com/,${{ secrets.GITHUB_TOKEN }}

- name: Install dependencies
uses: simatic-ax/actions/apax-install@v3
with:
immutable: true

- name: Determine version
id: determine_version
shell: bash
run: |
INPUT_VERSION="${{ inputs.version }}"
SHA_SHORT="${{ github.sha }}"

if [ -z "$INPUT_VERSION" ]; then
echo "version=0.0.1-${SHA_SHORT}" >> $GITHUB_OUTPUT
else
echo "version=${INPUT_VERSION}" >> $GITHUB_OUTPUT
fi

- name: Version the package
uses: simatic-ax/actions/apax-version@v3
with:
version: ${{ steps.determine_version.outputs.version }}

- name: Build source code
uses: simatic-ax/actions/apax-build@v3
with:
apax-build-targets: |
llvm
1500
apax-build-args: |
--debug
--log Debug

- name: Test source code
uses: simatic-ax/actions/apax-test@v3
with:
coverage: true
loglevel: debug

- name: Check links
uses: gaurav-nelson/github-action-markdown-link-check@v1
with:
check-modified-files-only: 'yes'
base-branch: 'main'

- name: Upload build artifacts
if: ${{ github.event_name == 'workflow_call' || github.event_name == 'release'}}
uses: actions/upload-artifact@v4
with:
name: build-artifacts
path: |
bin/1500
bin/llvm
retention-days: 90
if-no-files-found: error
73 changes: 73 additions & 0 deletions .github/workflows/package-release-workflow.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# This workflow is triggered when a release is published via the UI
# The workflow is only executed if the release is a tag and the target_commitish is a release branch
name: Release workflow

# Start the workflow as soon as a release has been published via the UI
on:
release:
types: [published]

permissions:
contents: write # required for checkout
packages: write # required for pulling the container
actions: write # required for artifact downloading
pull-requests: write # Für PR-Erstellung und Management

jobs:
call-development:
name: Build the package
uses: ./.github/workflows/package-development-workflow.yml
secrets:
APAX_TOKEN: ${{ secrets.APAX_TOKEN }}
with:
# checks out the branch that has been selected during the release process
ref: ${{ github.event.release.target_commitish }}
version: ${{ github.event.release.tag_name }}

release:
name: Release the package
needs: call-development
runs-on: ubuntu-24.04
container:
image: ghcr.io/simatic-ax/ci-images/apax-ci-image:3.5.0
credentials:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Checkout Code
uses: actions/checkout@v4
with:
ref: ${{ github.event.release.target_commitish }}
fetch-depth: 0

- name: Create bin folder
run: mkdir -p bin

- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: build-artifacts
path: bin

- name: Version package
uses: simatic-ax/actions/apax-version@v3
with:
version: ${{ github.event.release.tag_name }}

- name: Package source code
uses: simatic-ax/actions/apax-pack@v3
with:
key: ${{ secrets.APAX_SIGNKEY }}

- name: Login to required registries
uses: simatic-ax/actions/apax-login@v3
with:
apax-token: ${{ secrets.APAX_TOKEN }}
registries: |
https://npm.pkg.github.com/,${{ secrets.GITHUB_TOKEN }}

- name: Publish apax package
uses: simatic-ax/actions/apax-publish@v3
with:
registries: |
https://npm.pkg.github.com
17 changes: 0 additions & 17 deletions .github/workflows/release-library.yml

This file was deleted.

14 changes: 0 additions & 14 deletions .markdownlint.yml

This file was deleted.

Loading