83 lines
2.9 KiB
YAML
83 lines
2.9 KiB
YAML
version: v1.0
|
|
name: Traefik
|
|
agent:
|
|
machine:
|
|
type: e1-standard-4
|
|
os_image: ubuntu2004
|
|
|
|
fail_fast:
|
|
stop:
|
|
when: "branch != 'master'"
|
|
|
|
auto_cancel:
|
|
queued:
|
|
when: "branch != 'master'"
|
|
running:
|
|
when: "branch != 'master'"
|
|
|
|
global_job_config:
|
|
prologue:
|
|
commands:
|
|
- curl -sSfL https://raw.githubusercontent.com/ldez/semgo/master/godownloader.sh | sudo sh -s -- -b "/usr/local/bin"
|
|
- sudo semgo go1.20
|
|
- export "GOPATH=$(go env GOPATH)"
|
|
- export "SEMAPHORE_GIT_DIR=${GOPATH}/src/github.com/traefik/${SEMAPHORE_PROJECT_NAME}"
|
|
- export "PATH=${GOPATH}/bin:${PATH}"
|
|
- mkdir -vp "${SEMAPHORE_GIT_DIR}" "${GOPATH}/bin"
|
|
- export GOPROXY=https://proxy.golang.org,direct
|
|
- curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b "${GOPATH}/bin" v1.52.2
|
|
- curl -sSfL https://gist.githubusercontent.com/traefiker/6d7ac019c11d011e4f131bb2cca8900e/raw/goreleaser.sh | bash -s -- -b "${GOPATH}/bin"
|
|
- checkout
|
|
- cache restore traefik-$(checksum go.sum)
|
|
|
|
blocks:
|
|
- name: Test Integration
|
|
dependencies: []
|
|
run:
|
|
when: "branch =~ '.*' OR pull_request =~'.*'"
|
|
task:
|
|
jobs:
|
|
- name: Test Integration
|
|
commands:
|
|
- make pull-images
|
|
- touch webui/static/index.html # Avoid generating webui
|
|
- IN_DOCKER="" make binary
|
|
- make test-integration
|
|
- df -h
|
|
epilogue:
|
|
always:
|
|
commands:
|
|
- cache store traefik-$(checksum go.sum) $HOME/go/pkg/mod
|
|
|
|
- name: Release
|
|
dependencies: []
|
|
run:
|
|
when: "tag =~ '.*'"
|
|
task:
|
|
agent:
|
|
machine:
|
|
type: e1-standard-8
|
|
os_image: ubuntu2004
|
|
secrets:
|
|
- name: traefik
|
|
env_vars:
|
|
- name: GH_VERSION
|
|
value: 1.12.1
|
|
- name: CODENAME
|
|
value: "beaufort"
|
|
- name: IN_DOCKER
|
|
value: ""
|
|
prologue:
|
|
commands:
|
|
- export VERSION=${SEMAPHORE_GIT_TAG_NAME}
|
|
- curl -sSL -o /tmp/gh_${GH_VERSION}_linux_amd64.tar.gz https://github.com/cli/cli/releases/download/v${GH_VERSION}/gh_${GH_VERSION}_linux_amd64.tar.gz
|
|
- tar -zxvf /tmp/gh_${GH_VERSION}_linux_amd64.tar.gz -C /tmp
|
|
- sudo mv /tmp/gh_${GH_VERSION}_linux_amd64/bin/gh /usr/local/bin/gh
|
|
- sudo rm -rf ~/.phpbrew ~/.kerl ~/.sbt ~/.nvm ~/.npm ~/.kiex /usr/lib/jvm /opt/az /opt/firefox # Remove unnecessary data.
|
|
- sudo service docker stop && sudo umount /var/lib/docker && sudo service docker start # Unmounts the docker disk and the whole system disk is usable.
|
|
jobs:
|
|
- name: Release
|
|
commands:
|
|
- make release-packages
|
|
- gh release create ${SEMAPHORE_GIT_TAG_NAME} ./dist/traefik*.* --repo traefik/traefik --title ${SEMAPHORE_GIT_TAG_NAME} --notes ${SEMAPHORE_GIT_TAG_NAME}
|
|
- ./script/deploy.sh
|