|
|
@@ -9,86 +9,29 @@ jobs:
|
|
|
steps:
|
|
|
- name: Checkout code
|
|
|
uses: actions/checkout@v3
|
|
|
- - name: Setup Go Cache
|
|
|
- uses: actions/cache@v3
|
|
|
- with:
|
|
|
- path: |
|
|
|
- ~/.cache/go-build
|
|
|
- ~/go/pkg/mod
|
|
|
- key: porter-go-${{ hashFiles('**/go.sum') }}
|
|
|
- restore-keys: porter-go-`
|
|
|
- - name: Setup Go
|
|
|
- uses: actions/setup-go@v4
|
|
|
- with:
|
|
|
- cache: false
|
|
|
- go-version: '1.20.5'
|
|
|
- go-version-file: go.mod
|
|
|
- - name: Download Go Modules
|
|
|
- run: go mod download
|
|
|
- - name: Build Server Binary
|
|
|
- run: go build -ldflags="-w -s -X 'main.Version=production'" -tags ee -o ./bin/app ./cmd/app
|
|
|
- - name: Build Migration Binary
|
|
|
- run: go build -ldflags '-w -s' -tags ee -o ./bin/migrate ./cmd/migrate
|
|
|
- - name: Compress binaries
|
|
|
- run: |
|
|
|
- upx bin/* --best --lzma
|
|
|
- - name: Store Binaries
|
|
|
- uses: actions/upload-artifact@v3
|
|
|
- with:
|
|
|
- name: go-binaries
|
|
|
- path: bin/
|
|
|
- retention-days: 1
|
|
|
+ - name: build-go
|
|
|
+ uses: ./.github/actions/build-go
|
|
|
+
|
|
|
build-npm:
|
|
|
runs-on: ubuntu-latest
|
|
|
steps:
|
|
|
- name: Checkout code
|
|
|
uses: actions/checkout@v3
|
|
|
- - name: Setup Node
|
|
|
- uses: actions/setup-node@v3
|
|
|
- with:
|
|
|
- node-version: 16
|
|
|
- - name: Install NPM Dependencies
|
|
|
- run: |
|
|
|
- cd dashboard
|
|
|
- npm i --legacy-peer-deps
|
|
|
- - name: Run NPM Build
|
|
|
- run: |
|
|
|
- cd dashboard
|
|
|
- npm run build
|
|
|
- - name: Store NPM Static Files
|
|
|
- uses: actions/upload-artifact@v3
|
|
|
- with:
|
|
|
- name: npm-static-files
|
|
|
- path: dashboard/build/
|
|
|
- retention-days: 1
|
|
|
+ - name: build-npm
|
|
|
+ uses: ./.github/actions/build-npm
|
|
|
+
|
|
|
porter-deploy:
|
|
|
runs-on: ubuntu-latest
|
|
|
needs: [build-go, build-npm]
|
|
|
steps:
|
|
|
- name: Checkout code
|
|
|
uses: actions/checkout@v3
|
|
|
- - name: Get Go Binaries
|
|
|
- uses: actions/download-artifact@v3
|
|
|
- with:
|
|
|
- name: go-binaries
|
|
|
- path: bin/
|
|
|
- - name: Get NPM static files
|
|
|
- uses: actions/download-artifact@v3
|
|
|
- with:
|
|
|
- name: npm-static-files
|
|
|
- path: build/
|
|
|
- - name: Set Github tag
|
|
|
- id: vars
|
|
|
- run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
|
|
|
- - name: Deploy stack
|
|
|
+ - name: porter-deploy
|
|
|
timeout-minutes: 30
|
|
|
- uses: porter-dev/porter-cli-action@v0.1.0
|
|
|
+ uses: ./.github/actions/porter-deploy
|
|
|
with:
|
|
|
- command: apply
|
|
|
- env:
|
|
|
- PORTER_CLUSTER: "11"
|
|
|
- PORTER_HOST: https://dashboard.internal-tools.porter.run
|
|
|
- PORTER_PROJECT: "8"
|
|
|
- PORTER_STACK_NAME: porter-ui
|
|
|
- PORTER_TAG: ${{ steps.vars.outputs.sha_short }}
|
|
|
- PORTER_TOKEN: ${{ secrets.PORTER_STACK_8_11 }}
|
|
|
+ app: porter-ui
|
|
|
+ cluster: "11"
|
|
|
+ host: https://dashboard.internal-tools.porter.run
|
|
|
+ project: "8"
|
|
|
+ token: ${{ secrets.PORTER_STACK_8_11 }}
|