diff --git a/.github/workflows/release-matrix.yml b/.github/workflows/release-matrix.yml new file mode 100644 index 0000000..860011c --- /dev/null +++ b/.github/workflows/release-matrix.yml @@ -0,0 +1,46 @@ +name: Release Builds + +on: + release: + types: [ created ] + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + build_type: [ linux64, macos64, win64 ] + steps: + - name: Set build type + run: | + echo BUILD_TYPE=${{ matrix.build_type }} >> $GITHUB_ENV + - name: Checkout + uses: actions/checkout@v2 + + - name: Set up Node.js + uses: actions/setup-node@v2 + with: + node-version: 14 + check-latest: true + + - name: Install Node modules + run: npm install + + - name: Get name and version from package.json + run: | + test -n $(node -p -e "require('./package.json').name") && + test -n $(node -p -e "require('./package.json').version") && + echo PACKAGE_NAME=$(node -p -e "require('./package.json').name") >> $GITHUB_ENV && + echo PACKAGE_VERSION=$(node -p -e "require('./package.json').version") >> $GITHUB_ENV || exit 1 + - name: Make build + run: npm run build-${{ env.BUILD_TYPE }} + + - name: Upload release + uses: actions/upload-release-asset@v1 + with: + upload_url: ${{ github.event.release.upload_url }} + asset_name: ${{ env.PACKAGE_NAME }}-${{ env.PACKAGE_VERSION }}-${{ env.BUILD_TYPE }}.7z + asset_path: ./_builds/${{ env.PACKAGE_NAME }}-${{ env.PACKAGE_VERSION }}-${{ env.BUILD_TYPE }}.7z + asset_content_type: application/x-7z-compressed + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release-win64.yml b/.github/workflows/release-win64.yml deleted file mode 100644 index 0a68cae..0000000 --- a/.github/workflows/release-win64.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: Release Build Win64 - -on: - release: - types: [ created ] - -jobs: - build: - runs-on: ubuntu-latest - - steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: Set up Node.js - uses: actions/setup-node@v1.4.2 - with: - node-version: 12.15.0 - - - name: Install Node modules - run: npm install - - - name: Make build - run: npm run build-win64 - - - name: Get name from package.json - run: | - test -n "$(node -p -e "require('./package.json').name")" && - echo "::set-env name=PACKAGE_NAME::$(node -p -e "require('./package.json').name")" || exit 1 - - - name: Get version from package.json - run: | - test -n "$(node -p -e "require('./package.json').version")" && - echo "::set-env name=PACKAGE_VERSION::$(node -p -e "require('./package.json').version")" || exit 1 - - - name: Upload release - uses: actions/upload-release-asset@v1 - with: - upload_url: ${{ github.event.release.upload_url }} - asset_name: ${{ env.PACKAGE_NAME }}-${{ env.PACKAGE_VERSION }}-win64.7z - asset_path: ./_builds/${{ env.PACKAGE_NAME }}-${{ env.PACKAGE_VERSION }}-win64.7z - asset_content_type: application/x-7z-compressed - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}