name: build-it push jobs: build-it: name: build-it runs-on: ubuntu-latest strategy: matrix: node-version: [14.x] steps: - uses: actions/checkout@v2 - name: Cache node modules uses: actions/cache@v2 env: cache-name: cache-node-modules with: # npm cache files are stored in `~/.npm` on Linux/macOS path: ~/.npm key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package.json') }} restore-keys: | ${{ runner.os }}-build-${{ env.cache-name }}- ${{ runner.os }}-build- ${{ runner.os }}- - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v1 with: node-version: ${{ matrix.node-version }} registry-url: 'https://registry.npmjs.org' - name: test em run: | npm install npm install -g --save-dev shadow-cljs shadow-cljs compile test - name: build em if: ${{ github.branch == 'master' }} run: | shadow-cljs release lib sha256sum target/lib.js > target/dda-masto-embedd.js.sha256 sha512sum target/lib.js > target/dda-masto-embedd.js.sha512 - name: Create Release if: ${{ github.tag == '[0-9]+.[0-9]+.[0-9]+' }} id: create_release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ github.ref }} release_name: Release ${{ github.ref }} draft: false prerelease: false - name: Upload masto-embedd.js if: ${{ github.tag == '[0-9]+.[0-9]+.[0-9]+' }} id: upload-masto-embedd-js uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: target/lib.js asset_name: dda-masto-embed.js asset_content_type: application/json - name: Upload masto-embedd.js.sha256 if: ${{ github.tag == '[0-9]+.[0-9]+.[0-9]+' }} id: upload-masto-embedd-js-sha256 uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: target/dda-masto-embedd.js.sha256 asset_name: dda-masto-embedd.js.sha256 asset_content_type: application/json - name: Upload masto-embedd.js.sha512 if: ${{ github.tag == '[0-9]+.[0-9]+.[0-9]+' }} id: upload-masto-embedd-js-sha512 uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: target/dda-masto-embedd.js.sha512 asset_name: dda-masto-embedd.js.sha512 asset_content_type: application/json - name: upload to npm if: ${{ github.branch == 'master' }} env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} run: | mkdir -p target/npm-build cp target/lib.js target/npm-build/ cp target/dda-masto-embedd.js.sha256 target/npm-build/ cp target/dda-masto-embedd.js.sha512 target/npm-build/ cp package.json target/npm-build/ cp README.md target/npm-build/ cp LICENSE target/npm-build/ tar -cz -C target/npm-build -f target/npm-build.tgz . npm publish ./target/npm-build.tgz --access public