name: Build/Publish on: workflow_call: jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Use Node.js uses: actions/setup-node@v3 with: node-version: 18.x cache: 'npm' - run: npm ci - run: npm run build --if-present - run: touch build.tar.gz - name: Archive Release uses: thedoctor0/zip-release@0.7.1 with: type: tar filename: build.tar.gz exclusions: "*.git* build.tar.gz node_cache/**" - name: Cache build uses: actions/upload-artifact@v3 with: name: cache-${{ github.run_id }}-${{ github.run_attempt }} path: build.tar.gz publish: runs-on: ubuntu-latest needs: build steps: - uses: actions/checkout@v3 - name: Use Node.js uses: actions/setup-node@v3 with: node-version: 18.x cache: 'npm' - name: Fetch build cache uses: actions/download-artifact@v3 with: name: cache-${{ github.run_id }}-${{ github.run_attempt }} - name: Extract build cache run: tar xvf build.tar.gz && rm build.tar.gz -f - name: Install SSH key uses: shimataro/ssh-key-action@v2 with: key: ${{ secrets.GITEA_SSH_KEY }} name: gitea # optional known_hosts: ${{ secrets.GITEA_KNOWN_HOST }} - run: npm run semantic-release