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 - name: Cache node modules id: cache uses: actions/cache@v3 with: # npm cache files are stored in `~/.npm` on Linux/macOS path: ./ key: ${{ runner.os }}-build-${{ hashFiles('**/package-lock.json','lib/**') }} publish: runs-on: ubuntu-latest needs: build steps: - uses: actions/cache/restore@v3 with: path: . key: ${{ needs.build.steps.cache.outputs.cache-primary-key }} - 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