Skip to content

Commit

Permalink
chore: update publish workflow (#9065)
Browse files Browse the repository at this point in the history
This PR combines the publishing workflows for npm packages and Docker.
It also fixes an issue where multiple tags would trigger publishing all
packages.
  • Loading branch information
jrandolf-2 authored Oct 6, 2022
1 parent 416d56b commit 9d13343
Show file tree
Hide file tree
Showing 6 changed files with 1,882 additions and 968 deletions.
50 changes: 0 additions & 50 deletions .github/workflows/publish-docker.yml

This file was deleted.

61 changes: 56 additions & 5 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,75 @@ on:
workflow_dispatch:
push:
tags:
- '*-v*'
- '*v*'

jobs:
publish:
npm-publish:
name: Publish npm packages
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install dependencies
run: npm install
run: npm ci --ignore-scripts
- name: Build packages
run: npm run build
- name: Set npm registry
run: npm config set registry 'https://wombat-dressing-room.appspot.com/'
- name: Publish Puppeteer
if: ${{ startsWith(github.ref_name, "v") }}
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN_PUPPETEER}}
run: |
npm config set '//wombat-dressing-room.appspot.com/:_authToken' $NODE_AUTH_TOKEN
npm publish --workspace packages/puppeteer
- name: Publish packages
if: ${{ !startsWith(github.ref_name, "v") }}
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN_RELEASE}}
run: |
npm config set registry 'https://wombat-dressing-room.appspot.com/'
npm config set '//wombat-dressing-room.appspot.com/:_authToken' $NODE_AUTH_TOKEN
npm publish --workspaces
npm publish --workspace packages/${GITHUB_REF_NAME%-v*}
docker-publish:
name: Publish Docker image
runs-on: ubuntu-latest
if: ${{ startsWith(github.ref_name, "v") }}
permissions:
contents: read
packages: write
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install dependencies
run: npm ci --ignore-scripts
- name: Build packages
run: npm run build
- name: Pack packages for docker
run: docker/pack.sh
# Based on https://docs.github.com/en/actions/publishing-packages/publishing-docker-images.
- name: Log in to the Container registry
uses: docker/login-action@49ed152c8eca782a232dede0303416e8f356c37b
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@69f6fc9d46f2f8bf0d5491e4aabe0bb8c6a4678a
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
latest
type=semver,pattern={{version}}
- name: Build and push the Docker image
uses: docker/build-push-action@c84f38281176d4c9cdb1626ffafcd6b3911b5d94
with:
context: ./docker
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
Loading

0 comments on commit 9d13343

Please sign in to comment.