Skip to content

Release

Release #3

Workflow file for this run

name: Release
"on":
workflow_dispatch:
inputs:
release_tag:
description: The version to release starting with `v`
required: true
type: string
release_ref:
description: The branch, tag or SHA to checkout (default to latest)
default: ""
type: string
permissions:
contents: write
jobs:
publish-package:
name: Publish package
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Enable corepack
run: corepack enable
- uses: actions/setup-node@v3
with:
node-version: latest
registry-url: https://registry.npmjs.org
cache: yarn
cache-dependency-path: yarn.lock
- name: Install packages
run: yarn install --immutable
- name: Run npmluau
run: yarn run prepare
- name: Authenticate yarn
run: |-
yarn config set npmAlwaysAuth true
yarn config set npmAuthToken $NPM_AUTH_TOKEN
env:
NPM_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Publish to npm
run: |-
yarn workspaces foreach --all --no-private npm publish --access public --tolerate-republish
publish-wally-package:
needs: publish-package
name: Publish wally package
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: Roblox/setup-foreman@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Enable corepack
run: corepack enable
- uses: actions/setup-node@v3
with:
node-version: "latest"
cache: "yarn"
cache-dependency-path: "yarn.lock"
- name: Install packages
run: yarn install --immutable
- name: Run npmluau
run: yarn run prepare
- name: Build artifacts
run: yarn run build
- name: Login to wally
run: wally login --project-path build/wally/otter --token ${{ secrets.WALLY_ACCESS_TOKEN }}
- name: Publish otter to wally
run: wally publish --project-path build/wally/otter
- name: Publish react-otter to wally
run: wally publish --project-path build/wally/react-otter
create-release:
needs: publish-package
name: Create release
runs-on: ubuntu-latest
outputs:
upload_url: ${{ steps.create_release.outputs.upload_url }}
steps:
- uses: actions/checkout@v4
- name: Create tag
run: |
git fetch --tags --no-recurse-submodules
if [ ! $(git tag -l ${{ inputs.release_tag }}) ]; then
git tag ${{ inputs.release_tag }}
git push origin ${{ inputs.release_tag }}
fi
- name: Create release
id: create_release
uses: softprops/action-gh-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ inputs.release_tag }}
name: ${{ inputs.release_tag }}
draft: false