Skip to content

Commit 39d0f83

Browse files
committed
ci: Add publish action.
1 parent 13f71be commit 39d0f83

File tree

1 file changed

+65
-0
lines changed

1 file changed

+65
-0
lines changed

.github/workflows/publish.yml

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: Publish
2+
on:
3+
push:
4+
branches:
5+
- master
6+
7+
jobs:
8+
publish:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v2
12+
with:
13+
fetch-depth: 0
14+
lfs: true
15+
- name: Fetch next version
16+
id: nextVersion
17+
uses: VisualPinball/[email protected]
18+
with:
19+
tagPrefix: 'v'
20+
- name: Bump
21+
if: ${{ steps.nextVersion.outputs.isBump == 'true' }}
22+
run: |
23+
npm version ${{ steps.nextVersion.outputs.nextVersion }} --no-git-tag-version
24+
- name: Commit
25+
id: commit
26+
if: ${{ steps.nextVersion.outputs.isBump == 'true' }}
27+
run: |
28+
git config user.name "github-actions"
29+
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
30+
git add package.json
31+
git commit -m "release: ${{ steps.nextVersion.outputs.nextTag }}."
32+
git push
33+
commitish=$(git rev-parse HEAD)
34+
echo ::set-output name=commitish::${commitish}
35+
env:
36+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
37+
- name: Create Release
38+
uses: actions/create-release@v1
39+
with:
40+
tag_name: ${{ steps.nextVersion.outputs.nextTag }}
41+
release_name: ${{ steps.nextVersion.outputs.nextTag }}
42+
prerelease: ${{ steps.nextVersion.outputs.isPrerelease }}
43+
commitish: ${{ steps.commit.outputs.commitish }}
44+
env:
45+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
46+
- name: Publish Archive
47+
run: |
48+
echo "//registry.visualpinball.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc
49+
npm pack
50+
NPM_ARCHIVE=$(ls org.visualpinball.unity.assets*.tgz)
51+
export NEW_SHA1=($(sha1sum $NPM_ARCHIVE))
52+
rm -rf Assets
53+
echo Publishing dummy...
54+
npm publish
55+
echo Patching package.json...
56+
sudo apt-get install sshpass
57+
sshpass -p ${{ secrets.REGISTRY_SSH_PASSWORD }} scp -v -o StrictHostKeyChecking=no [email protected]:$REGISTRY_SSH_PATH/$NPM_ARCHIVE dummyarch
58+
export OLD_SHA1=($(sha1sum dummyarch))
59+
echo SHA: $OLD_SHA1 $NEW_SHA1
60+
sshpass -p ${{ secrets.REGISTRY_SSH_PASSWORD }} scp -o StrictHostKeyChecking=no $NPM_ARCHIVE [email protected]:$REGISTRY_SSH_PATH
61+
sshpass -p ${{ secrets.REGISTRY_SSH_PASSWORD }} ssh -o StrictHostKeyChecking=no [email protected] "sed -i s/$OLD_SHA1/$NEW_SHA1/g $REGISTRY_SSH_PATH/package.json"
62+
env:
63+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
64+
REGISTRY_SSH_USERNAME: ${{ secrets.REGISTRY_SSH_USERNAME }}
65+
REGISTRY_SSH_PATH: ${{ secrets.REGISTRY_SSH_PATH }}

0 commit comments

Comments
 (0)