mirror of
https://github.com/semaphoreui/semaphore.git
synced 2024-12-03 14:51:05 +01:00
143 lines
3.6 KiB
YAML
143 lines
3.6 KiB
YAML
name: Dev
|
|
on:
|
|
push:
|
|
branches:
|
|
- develop
|
|
|
|
jobs:
|
|
build-local:
|
|
runs-on: [ubuntu-latest]
|
|
steps:
|
|
- uses: actions/setup-go@v3
|
|
with: { go-version: 1.18 }
|
|
|
|
- uses: actions/setup-node@v3
|
|
with: { node-version: '16' }
|
|
|
|
- run: go install github.com/go-task/task/v3/cmd/task@latest
|
|
|
|
- uses: actions/checkout@v3
|
|
|
|
- run: task deps
|
|
|
|
- run: task compile
|
|
|
|
- name: Test that compile did not create/modify untracked files
|
|
run: git diff --exit-code --stat -- . ':(exclude)web2/package.json' ':(exclude)web2/package-lock.json' ':(exclude)go.mod' ':(exclude)go.sum'
|
|
|
|
- run: task build:local
|
|
|
|
- uses: actions/upload-artifact@master
|
|
with:
|
|
name: semaphore
|
|
path: bin/semaphore
|
|
|
|
|
|
# build:
|
|
# runs-on: [ubuntu-latest]
|
|
# steps:
|
|
# - uses: actions/setup-go@v3
|
|
# with: { go-version: 1.18 }
|
|
|
|
# - uses: actions/setup-node@v3
|
|
# with: { node-version: '14' }
|
|
|
|
# - run: go install github.com/go-task/task/v3/cmd/task@latest
|
|
|
|
# - uses: actions/checkout@v3
|
|
|
|
# - run: task deps
|
|
|
|
# - run: task compile
|
|
|
|
# - name: Test that compile did not create/modify untracked files
|
|
# run: git diff --exit-code --stat -- . ':(exclude)web2/package.json' ':(exclude)web2/package-lock.json' ':(exclude)go.mod' ':(exclude)go.sum'
|
|
|
|
# - run: |
|
|
# echo ${{ secrets.GPG_KEY }} | tr " " "\n" | base64 -d | gpg --import --batch
|
|
# gpg --sign -u "58A7 CC3D 8A9C A2E5 BB5C 141D 4064 23EA F814 63CA" --pinentry-mode loopback --yes --batch --passphrase "${{ secrets.GPG_PASS }}" --output unlock.sig --detach-sign README.md
|
|
# rm -f unlock.sig
|
|
|
|
|
|
test-golang:
|
|
runs-on: [ubuntu-latest]
|
|
needs: build-local
|
|
steps:
|
|
- uses: actions/setup-go@v3
|
|
with: { go-version: 1.18 }
|
|
|
|
- run: go install github.com/go-task/task/v3/cmd/task@latest
|
|
|
|
- uses: actions/checkout@v3
|
|
|
|
- run: task deps:tools
|
|
- run: task deps:be
|
|
- run: task compile:be
|
|
- run: task lint:be
|
|
- run: task test
|
|
|
|
|
|
test-db-migration:
|
|
runs-on: [ubuntu-latest]
|
|
needs: [build-local, test-golang]
|
|
steps:
|
|
- uses: shogo82148/actions-setup-mysql@v1
|
|
with:
|
|
mysql-version: '5.6'
|
|
|
|
- uses: actions/download-artifact@master
|
|
with:
|
|
name: semaphore
|
|
|
|
- run: "cat > config.json <<EOF\n{\n\t\"mysql\": {\n\t\t\"host\": \"127.0.0.1:3306\"\
|
|
,\n\t\t\"user\": \"root\",\n\t\t\"pass\": \"\",\n\t\t\"name\": \"circle_test\"\
|
|
\n\t},\n\t\"email_alert\": false\n}\nEOF\n"
|
|
|
|
- run: chmod +x ./semaphore && ./semaphore migrate --config config.json
|
|
|
|
|
|
test-integration:
|
|
runs-on: [ubuntu-latest]
|
|
needs: [test-db-migration]
|
|
steps:
|
|
- uses: actions/setup-go@v3
|
|
with: { go-version: 1.18 }
|
|
|
|
- run: go install github.com/go-task/task/v3/cmd/task@latest
|
|
|
|
- uses: actions/checkout@v3
|
|
|
|
- run: context=ci task dc:up
|
|
|
|
|
|
|
|
# test-docker:
|
|
# runs-on: [ubuntu-latest]
|
|
# steps:
|
|
# - uses: actions/setup-go@v3
|
|
# with: { go-version: 1.18 }
|
|
|
|
# - run: go install github.com/go-task/task/v3/cmd/task@latest
|
|
|
|
# - uses: actions/checkout@v3
|
|
|
|
# - run: context=prod task docker:test
|
|
|
|
|
|
|
|
# deploy-dev:
|
|
# runs-on: [ubuntu-latest]
|
|
# steps:
|
|
# - uses: actions/setup-go@v3
|
|
# with: { go-version: 1.18 }
|
|
|
|
# - run: go install github.com/go-task/task/v3/cmd/task@latest
|
|
|
|
# - uses: actions/checkout@v3
|
|
|
|
# - run: context=prod task docker:test
|
|
|
|
# - run: docker login -u $DOCKER_USER -p $DOCKER_PASS
|
|
# - run: context=prod tag=develop task docker:build
|
|
# - run: tag=develop task docker:push
|