diff --git a/.forgejo/workflows/deploy.yml b/.forgejo/workflows/deploy.yml new file mode 100644 index 0000000..6459676 --- /dev/null +++ b/.forgejo/workflows/deploy.yml @@ -0,0 +1,44 @@ +on: + push: + branches: + - master + + +jobs: + deploy: + runs-on: arch + steps: + - name: Check out repository code + uses: actions/checkout@v3 + - name: Install dependencies + run: time pnpm install + - name: Run Tests + run: pnpm run test --ignore-only + - name: Deply if new version + run: | + echo "" + echo "------------------------------------" + echo "" + CURR_VER="$(cat package.json | jq -r .name)_v$(cat package.json | jq -r .version)" + CURR_NAME="$(cat package.json | jq -r .name) v$(cat package.json | jq -r .version)" + + echo "Checking https://git.nfp.is/api/v1/repos/${{ github.repository }}/releases for name ${CURR_NAME}" + + if curl -s -X GET -H "Authorization: token ${{ secrets.deploytoken }}" https://git.nfp.is/api/v1/repos/${{ github.repository }}/releases | grep -o "\"name\":\"${CURR_NAME}\"" > /dev/null; then + echo "Skipping ${{ github.job }} since $CURR_NAME already exists"; + exit; + fi + + echo "New release ${CURR_VER} found, beginning deployment" + + echo "Creating ${CURR_VER} release on forgejo" + curl \ + -X POST \ + -H "Authorization: token ${{ secrets.deploytoken }}" \ + -H "Content-Type: application/json" \ + https://git.nfp.is/api/v1/repos/${{ github.repository }}/releases \ + -d "{\"tag_name\":\"${CURR_VER}\",\"name\":\"${CURR_NAME}\",\"body\":\"Automatic release from Appveyor from ${{ github.sha }} :\n\n${{ github.event.head_commit.message }}\"}" | jq + + echo "//registry.npmjs.org/:_authToken=${{ secrets.npmtoken }}" > ~/.npmrc + echo "Publishing new version to npm" + npm publish