name: Ontime build on: push: tags: [ "v1.*.*" ] workflow_dispatch: jobs: build_mac: runs-on: macos-latest timeout-minutes: 20 env: CI: '' steps: - uses: actions/checkout@v2 - name: Use Node.js uses: actions/setup-node@v2 with: node-version: '14.x' # React - name: React - Install dependencies run: yarn install --frozen-lockfile --network-timeout 300000 working-directory: ./client - name: React - Build project run: yarn build working-directory: ./client # Node server - name: Server - Install dependencies run: yarn install --frozen-lockfile --production --network-timeout 300000 working-directory: ./server/src # App - name: Electron - Install dependencies shell: bash run: yarn install --frozen-lockfile --network-timeout 300000 && yarn setdb working-directory: ./server - name: Electron - Build app run: yarn dist-mac working-directory: ./server # Release - name: Release uses: softprops/action-gh-release@v1 with: files: ./server/dist/ontime-macOS.dmg env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} build_win: runs-on: windows-latest timeout-minutes: 20 env: CI: '' steps: - uses: actions/checkout@v2 - name: Use Node.js uses: actions/setup-node@v1 with: node-version: '14.x' # React - name: React - Install dependencies run: yarn install --frozen-lockfile --network-timeout 300000 working-directory: ./client - name: React - Build project run: yarn build working-directory: ./client # Node server - name: Server - Install dependencies run: yarn install --frozen-lockfile --production --network-timeout 300000 working-directory: ./server/src # App - name: Electron - Install dependencies shell: bash run: yarn install --frozen-lockfile --network-timeout 300000 && yarn setdb working-directory: ./server - name: Electron - Build app run: yarn dist-win working-directory: ./server # Release - name: Release uses: softprops/action-gh-release@v1 with: files: ./server/dist/ontime-win64.exe env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} build_linux: runs-on: ubuntu-latest timeout-minutes: 20 env: CI: '' steps: - uses: actions/checkout@v2 - name: Use Node.js uses: actions/setup-node@v1 with: node-version: '14.x' # React - name: React - Install dependencies run: yarn install --frozen-lockfile --network-timeout 300000 working-directory: ./client - name: React - Build project run: yarn build working-directory: ./client # Node server - name: Server - Install dependencies run: yarn install --frozen-lockfile --production --network-timeout 300000 working-directory: ./server/src # App - name: Electron - Install dependencies shell: bash run: yarn install --frozen-lockfile --network-timeout 300000 && yarn setdb working-directory: ./server - name: Electron - Build app run: yarn dist-linux working-directory: ./server # Release - name: Release uses: softprops/action-gh-release@v1 with: files: ./server/dist/ontime-linux.AppImage env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}