Skip to content

Commit

Permalink
ci: publish workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
acodeninja committed Mar 18, 2024
1 parent 17ff236 commit 21d6271
Show file tree
Hide file tree
Showing 3 changed files with 77 additions and 8 deletions.
69 changes: 69 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
name: publish

on: [push]

env:
PACK_VERSION: 0.33.2
REPO: ghcr.io/${{ github.repository_owner }}

jobs:
publish-buildpack:
runs-on: ubuntu-latest
permissions:
packages: write
contents: read
steps:
- uses: actions/checkout@v4
- id: setup-tools
uses: buildpacks/github-actions/[email protected]
- id: setup-pack
uses: buildpacks/github-actions/[email protected]
- name: get local buildpack details
id: local-version
run: |
BUILDPACK_ID="$(cat buildpack.toml | yj -t | jq -r .buildpack.id)"
VERSION="$(cat buildpack.toml | yj -t | jq -r .buildpack.version)"
PACKAGE="$REPO/$(echo "$BUILDPACK_ID" | sed 's/\//_/g')"
echo "buildpack_id=$BUILDPACK_ID" >> "$GITHUB_OUTPUT"
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
echo "name=$PACKAGE" >> "$GITHUB_OUTPUT"
working-directory: playwright/python
- name: get published version
id: published-version
uses: actions/github-script@v7
with:
result-encoding: string
retries: 3
retry-exempt-status-codes: 400,401
script: |
await github.rest.packages
.getAllPackageVersionsForPackageOwnedByUser({
package_type: "container",
username: "${{ github.repository_owner }}",
package_name: "${{ steps.local-version.outputs.name }}".replace(`${process.env.REPO}/`, ""),
})
.then(({ data }) => {
const version = data[0];
console.log(version.name);
});
- name: login to ghcr
if: steps.local-version.outputs.version > steps.published-version.outputs.result
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.repository_owner }} --password-stdin
- name: package buildpack
id: package
if: steps.local-version.outputs.version > steps.published-version.outputs.result
run: |
#!/usr/bin/env bash
set -euo pipefail
pack buildpack package --publish "${{ steps.local-version.outputs.name }}:${{ steps.local-version.outputs.version }}"
DIGEST="$(crane digest ${PACKAGE}:${VERSION})"
echo "address=${{ steps.local-version.outputs.name }}@${DIGEST}" >> "$GITHUB_OUTPUT"
working-directory: playwright/python
- id: register
if: steps.local-version.outputs.version > steps.published-version.outputs.result
uses: docker://ghcr.io/buildpacks/actions/registry/request-add-entry:5.1.0
with:
token: ${{ secrets.CNB_PUBLISHER_GHTOKEN }}
id: ${{ steps.local-version.outputs.buildpack_id }}
version: ${{ steps.local-version.outputs.version }}
address: ${{ steps.local-version.outputs.address }}
11 changes: 4 additions & 7 deletions .github/workflows/quality-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,9 @@ jobs:
PACKAGE_MANAGER: ${{ matrix.package-manager }}
steps:
- uses: actions/checkout@v4
- name: setup-pack
run: |
curl -sL "https://github.com/buildpacks/pack/releases/download/v$PACK_VERSION/pack-v$PACK_VERSION-linux.tgz" -o pack.tgz
tar -zxf pack.tgz
rm pack.tgz
sudo mv pack /usr/bin/pack
pack --version
- id: setup-tools
uses: buildpacks/github-actions/[email protected]
- id: setup-pack
uses: buildpacks/github-actions/[email protected]
- run: make test
working-directory: playwright/python
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
# buildpacks
Collection of buildpacks

ACodeNinja's Collection of cloud native buildpacks.

- [Playwright Python](./playwright/python)

0 comments on commit 21d6271

Please sign in to comment.