Skip to content

Publish from Roc nightlies #194

Publish from Roc nightlies

Publish from Roc nightlies #194

name: Publish from Roc nightlies
on:
workflow_dispatch:
schedule:
- cron: '0 17 * * *'
jobs:
build:
runs-on: ubuntu-latest
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '16.x'
registry-url: 'https://registry.npmjs.org'
- name: Setup .npmrc file to publish to npm
run: echo "//registry.npmjs.org/:_authToken=${NODE_AUTH_TOKEN}" > ~/.npmrc
- name: Set env variables
run: |
echo "NIGHTLY_VERSION=-$(date +%Y-%m-%d)-nightly" >> $GITHUB_ENV
# download and unzip all the nightlies
- name: Publish linux_x64 subpackage
run: |
cd subpackages/linux_x64/
wget https://github.com/roc-lang/roc/releases/download/nightly/roc_nightly-old_linux_x86_64-latest.tar.gz
tar xzf *.tar.gz
rm *.tar.gz
mv roc_nightly*/roc .
sed -i "s/\(\"version\": \"[^\"]*\)\"/\1$NIGHTLY_VERSION\"/" package.json
wc -c roc
cat package.json
npm publish --access=public
- name: Publish linux_arm64 subpackage
run: |
cd subpackages/linux_arm64/
wget https://github.com/roc-lang/roc/releases/download/nightly/roc_nightly-old_linux_arm64-latest.tar.gz
tar xzf *.tar.gz
rm *.tar.gz
mv roc_nightly*/roc .
sed -i "s/\(\"version\": \"[^\"]*\)\"/\1$NIGHTLY_VERSION\"/" package.json
wc -c roc
cat package.json
npm publish --access=public
- name: Publish darwin_arm64 subpackage
run: |
cd subpackages/darwin_arm64/
wget https://github.com/roc-lang/roc/releases/download/nightly/roc_nightly-macos_apple_silicon-latest.tar.gz
tar xzf *.tar.gz
rm *.tar.gz
mv roc_nightly*/roc .
sed -i "s/\(\"version\": \"[^\"]*\)\"/\1$NIGHTLY_VERSION\"/" package.json
wc -c roc
cat package.json
npm publish --access=public
- name: Publish darwin_x64 subpackage
run: |
cd subpackages/darwin_x64/
wget https://github.com/roc-lang/roc/releases/download/nightly/roc_nightly-macos_x86_64-latest.tar.gz
tar xzf *.tar.gz
rm *.tar.gz
mv roc_nightly*/roc .
sed -i "s/\(\"version\": \"[^\"]*\)\"/\1$NIGHTLY_VERSION\"/" package.json
wc -c roc
cat package.json
npm publish --access=public
# Now that all the subpackages have been published, publish this one.
- name: Publish roc-npm
run: |
sed -i "s/\(\"version\": \"[^\"]*\)\"/\1$NIGHTLY_VERSION\"/" package.json
sed -i "s/\(@roc-installer-assets\/[^\"]*\": \"[^\"]*\)\"/\1$NIGHTLY_VERSION\"/" package.json
npm publish --access=public