Build release + artifact on CI

This commit is contained in:
Alex Peters
2023-07-18 12:31:36 +02:00
parent e5049ba686
commit 24fd28125e

View File

@@ -1,4 +1,6 @@
version: 2.1 version: 2.1
orbs:
gh: circleci/github-cli@2.2.0
executors: executors:
golang: golang:
@@ -171,7 +173,7 @@ jobs:
at: /tmp/workspace at: /tmp/workspace
- checkout - checkout
- setup_remote_docker: - setup_remote_docker:
version: 20.10.18 docker_layer_caching: true
- run: - run:
name: Build Docker artifact name: Build Docker artifact
command: docker build --pull -t "cosmwasm/wasmd:${CIRCLE_SHA1}" . command: docker build --pull -t "cosmwasm/wasmd:${CIRCLE_SHA1}" .
@@ -188,7 +190,7 @@ jobs:
fi fi
- when: - when:
condition: condition:
equal: [main, << pipeline.git.branch >>] equal: [ main, << pipeline.git.branch >> ]
steps: steps:
- run: - run:
name: Push application Docker image to docker hub name: Push application Docker image to docker hub
@@ -205,8 +207,7 @@ jobs:
at: /tmp/workspace at: /tmp/workspace
- checkout - checkout
- setup_remote_docker: - setup_remote_docker:
# >= v20.10 https://wiki.alpinelinux.org/wiki/Release_Notes_for_Alpine_3.14.0#faccessat2 docker_layer_caching: true
version: 20.10.11
- run: - run:
name: Build Docker artifact name: Build Docker artifact
command: docker build --pull -t "cosmwasm/wasmd:${CIRCLE_TAG}" . command: docker build --pull -t "cosmwasm/wasmd:${CIRCLE_TAG}" .
@@ -217,8 +218,35 @@ jobs:
docker push "cosmwasm/wasmd:${CIRCLE_TAG}" docker push "cosmwasm/wasmd:${CIRCLE_TAG}"
docker logout docker logout
release-tagged:
executor: golang
environment:
BUILD_DIR: /tmp/workspace
steps:
- attach_workspace:
at: /tmp/workspace
- checkout
- setup_remote_docker:
docker_layer_caching: true
- run:
name: Fetch static artifact
command: docker create --name wasmd_temp "cosmwasm/wasmd:${CIRCLE_TAG}"; docker cp wasmd_temp:/usr/bin/wasmd ${BUILD_DIR}; docker rm -f wasmd_temp
- run:
name: gzip
command: tar -zcvf ${BUILD_DIR}/wasmd-${CIRCLE_TAG}-linux-amd64.tar.gz -C ${BUILD_DIR} wasmd
- gh/setup:
token: GITHUB_CREDS
- run:
name: Create release
command: |
gh release create ${CIRCLE_TAG} ${BUILD_DIR}/wasmd-${CIRCLE_TAG}-linux-amd64.tar.gz \
--title "$CIRCLE_TAG" \
--draft \
--notes "# Wasmd ${CIRCLE_TAG} Release
See the [CHANGELOG](https://github.com/CosmWasm/wasmd/blob/${CIRCLE_TAG}/CHANGELOG.md) for details on the changes in this version.
"
workflows: workflows:
version: 2
test-suite: test-suite:
jobs: jobs:
- docker-image: - docker-image:
@@ -233,7 +261,9 @@ workflows:
ignore: ignore:
- /.*/ - /.*/
requires: requires:
- setup-dependencies - docker-image
- test-system
- simulations
- setup-dependencies: - setup-dependencies:
# filters here are needed to enable this job also for tags # filters here are needed to enable this job also for tags
filters: filters:
@@ -258,3 +288,13 @@ workflows:
- simulations: - simulations:
requires: requires:
- setup-dependencies - setup-dependencies
- release-tagged:
requires:
- docker-tagged
filters:
tags:
only:
- /^v.*/
branches:
ignore:
- /.*/