From bb9d209a36a89d4a0d9dd0b3da82f118f68599cf Mon Sep 17 00:00:00 2001 From: Martin McKeaveney Date: Thu, 20 May 2021 12:38:12 +0100 Subject: [PATCH] pipeline work --- .github/workflows/budibase_ci.yml | 2 - .github/workflows/release.yml | 61 +++---------------- .../scripts/linux/release-to-docker-hub.sh | 7 +++ package.json | 1 + 4 files changed, 17 insertions(+), 54 deletions(-) diff --git a/.github/workflows/budibase_ci.yml b/.github/workflows/budibase_ci.yml index 96db14b77a..0380f92253 100644 --- a/.github/workflows/budibase_ci.yml +++ b/.github/workflows/budibase_ci.yml @@ -7,12 +7,10 @@ on: branches: - master - develop - - next pull_request: branches: - master - develop - - next jobs: build: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1f2cb80d1d..44b5c0a65b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,34 +1,19 @@ name: Budibase Release on: - workflow_dispatch: - inputs: - name: - description: 'Version' - required: false - default: '0.8' - - # Trigger the workflow on push with tags, - # but only for the master branch push: - tags: - - 'v*' + branches: + - master jobs: release: - runs-on: ${{ matrix.os }} - - # Platforms to build on/for - strategy: - matrix: - os: [macos-latest, ubuntu-latest, windows-latest] - node-version: [12.x] + runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v1 with: - node-version: ${{ matrix.node-version }} + node-version: 12.x - run: yarn - run: yarn lint - run: yarn bootstrap @@ -39,42 +24,14 @@ jobs: SENTRY_DSN: ${{ secrets.SENTRY_DSN }} - run: yarn test - - name: Prepare for app notarization (macOS) - if: startsWith(matrix.os, 'macos') - # Import Apple API key for app notarization on macOS - run: | - xattr -cr * - mkdir -p ~/private_keys/ - echo '${{ secrets.api_key }}' > ~/private_keys/AuthKey_${{ secrets.api_key_id }}.p8 - - - - name: Build/release Electron app - uses: samuelmeuli/action-electron-builder@v1 - with: - package_root: packages/server - - # GitHub token, automatically provided to the action - # (No need to define this secret in the repo settings) - github_token: ${{ secrets.github_token }} - - mac_certs: ${{ secrets.mac_certs }} - mac_certs_password: ${{ secrets.mac_certs_password }} - windows_certs: ${{ secrets.windows_certs }} - windows_certs_password: ${{ secrets.windows_certs_password }} - - # release the app after building - release: ${{ startsWith(github.ref, 'refs/tags/v') }} + - name: Publish budibase packages to NPM env: - # macOS notarization API key - API_KEY_ID: ${{ secrets.api_key_id }} - API_KEY_ISSUER_ID: ${{ secrets.api_key_issuer_id }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + run: yarn release - name: Build/release Docker images - # only run the docker image build on linux, easiest way - if: startsWith(matrix.os, 'ubuntu') env: DOCKER_USER: ${{ secrets.DOCKER_USERNAME }} DOCKER_PASSWORD: ${{ secrets.DOCKER_API_KEY }} - run: | - docker login -u $DOCKER_USER -p $DOCKER_PASSWORD - yarn build:docker + run: docker login -u $DOCKER_USER -p $DOCKER_PASSWORD + run: yarn build:docker \ No newline at end of file diff --git a/hosting/scripts/linux/release-to-docker-hub.sh b/hosting/scripts/linux/release-to-docker-hub.sh index 1661fed9f0..106793fd82 100755 --- a/hosting/scripts/linux/release-to-docker-hub.sh +++ b/hosting/scripts/linux/release-to-docker-hub.sh @@ -3,13 +3,20 @@ tag=$1 tag=${tag:-latest} + pushd ../../build docker-compose build --force app-service docker-compose build --force worker-service +echo "Tagging images with SHA: $GITHUB_SHA and version: $BUDIBASE_VERSION" + docker tag build_app-service budibase/budibase-apps:$tag docker tag build_worker-service budibase/budibase-worker:$tag +# Tag with git sha +docker tag build_app-service budibase/budibase-apps:$GITHUB_SHA +docker tag build_worker-service budibase/budibase-worker:$GITHUB_SHA + docker push budibase/budibase-apps docker push budibase/budibase-worker popd diff --git a/package.json b/package.json index 4d26be9941..e2ca53a5dc 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "initialise": "lerna run initialise", "publishdev": "lerna run publishdev", "publishnpm": "yarn build && lerna publish --force-publish", + "release": "lerna publish --force-publish --yes", "restore": "yarn run clean && yarn run bootstrap && yarn run build", "nuke": "yarn run nuke:packages && yarn run nuke:docker", "nuke:packages": "yarn run restore",