From f0e84157968cbf2a11687c5cbde0e2ca9e0d55a7 Mon Sep 17 00:00:00 2001 From: Cyril Rohr Date: Thu, 30 May 2024 15:54:20 +0000 Subject: [PATCH 1/2] test publish --- .github/workflows/test.yml | 32 +++++++++++++++--------- publish/action.yml | 50 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+), 12 deletions(-) create mode 100644 publish/action.yml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3ba4192..3451cc7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -10,16 +10,16 @@ jobs: matrix: target: - debian:10 - - debian:11 - - debian:12 - - ubuntu:20.04 - - ubuntu:22.04 - - ubuntu:24.04 - - el:7 - - el:8 - - el:9 - - sles:12 - - sles:15 + # - debian:11 + # - debian:12 + # - ubuntu:20.04 + # - ubuntu:22.04 + # - ubuntu:24.04 + # - el:7 + # - el:8 + # - el:9 + # - sles:12 + # - sles:15 steps: - uses: actions/checkout@v4 @@ -33,12 +33,20 @@ jobs: - uses: ./action/package id: package with: - name: blank-sinatra-app target: ${{ matrix.target }} + name: blank-sinatra-app version: '1.0.0' path: app - name: Upload uses: actions/upload-artifact@v4 with: name: ${{ steps.package.outputs.package_name }} - path: ${{ steps.package.outputs.package_path }} \ No newline at end of file + path: ${{ steps.package.outputs.package_path }} + - name: Publish + uses: ./action/publish + with: + target: ${{ matrix.target }} + token: ${{ secrets.PUBLISH_TOKEN }} + repository: crohr/blank-sinatra-app + channel: master + artefact: ${{ steps.package.outputs.package_path }} \ No newline at end of file diff --git a/publish/action.yml b/publish/action.yml new file mode 100644 index 0000000..0884c57 --- /dev/null +++ b/publish/action.yml @@ -0,0 +1,50 @@ +name: 'pkgr/action/publish' +description: 'Publish your package to the packagehall' +inputs: + artefact: + description: 'Artefact to publish' + required: true + target: + description: 'Distribution' + required: true + repository: + description: 'Repository to publish to' + required: true + default: '${{ github.repository }}' + channel: + description: 'Channel to publish to' + required: true + default: 'master' + token: + description: 'Token to use for authentication' + required: true + force: + description: 'Publish even if the artefact already exists, and auto-create the channel if it does not exist' + required: false + default: "true" + +outputs: + id: + description: "Package identifier" + value: ${{ steps.upload.outputs.id }} + +runs: + using: "composite" + steps: + - name: Upload + id: upload + shell: bash + env: + REPO_FULL_NAME: ${{ inputs.repository }} + TARGET: ${{ inputs.target }} + CHANNEL: ${{ inputs.channel }} + run: | + org="${REPO_FULL_NAME%%/*}" + repo="${REPO_FULL_NAME##*/}" + url="https://dl.packager.io/api/orgs/${org}/repos/${repo}/packages" + echo "Pushing to ${url}..." + curl --fail-with-body -u "${{ inputs.token }}" -i -X POST "${url}" \ + -F "artefact=@${{ inputs.artefact }}" \ + -F "targets[]=${TARGET/://}" \ + -F "channels[]=$CHANNEL" \ + -F "force=${{ inputs.force }}" \ No newline at end of file From 5150f5d2d94cea3f03ada60e5f086f6c581511e0 Mon Sep 17 00:00:00 2001 From: Cyril Rohr Date: Thu, 30 May 2024 18:14:04 +0000 Subject: [PATCH 2/2] fix --- .github/workflows/test.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3451cc7..63f2bd4 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -10,16 +10,16 @@ jobs: matrix: target: - debian:10 - # - debian:11 - # - debian:12 - # - ubuntu:20.04 - # - ubuntu:22.04 - # - ubuntu:24.04 - # - el:7 - # - el:8 - # - el:9 - # - sles:12 - # - sles:15 + - debian:11 + - debian:12 + - ubuntu:20.04 + - ubuntu:22.04 + - ubuntu:24.04 + - el:7 + - el:8 + - el:9 + - sles:12 + - sles:15 steps: - uses: actions/checkout@v4