Merge pull request #8413 from filecoin-project/packer-publish-copy-orb

Packer publish copy orb
This commit is contained in:
Łukasz Magiera 2022-03-31 18:45:40 -04:00 committed by GitHub
commit e19c5bfcd7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 76 additions and 26 deletions

View File

@ -2,7 +2,6 @@ version: 2.1
orbs: orbs:
go: gotest/tools@0.0.13 go: gotest/tools@0.0.13
aws-cli: circleci/aws-cli@1.3.2 aws-cli: circleci/aws-cli@1.3.2
packer: salaxander/packer@0.0.3
executors: executors:
golang: golang:
@ -12,6 +11,16 @@ executors:
ubuntu: ubuntu:
docker: docker:
- image: ubuntu:20.04 - image: ubuntu:20.04
packer:
description: |
The HashiCorp provided Packer container
parameters:
packer-version:
type: string
default: "1.8"
docker:
- image: hashicorp/packer:<< parameters.packer-version >>
commands: commands:
install-deps: install-deps:
@ -75,6 +84,26 @@ commands:
command: | command: |
git fetch --all git fetch --all
packer_build:
description: "Run a packer build"
parameters:
template:
description: |
The name of the packer template file
type: string
default: packer.json
args:
description: |
Arguments to pass to the packer build command
type: string
default: ""
steps:
- run:
name: "Run a packer build"
command: packer build << parameters.args >> << parameters.template >>
no_output_timeout: 30m
jobs: jobs:
mod-tidy-check: mod-tidy-check:
executor: golang executor: golang
@ -688,49 +717,45 @@ jobs:
publish-packer-mainnet: publish-packer-mainnet:
description: build and push AWS IAM and DigitalOcean droplet. description: build and push AWS IAM and DigitalOcean droplet.
executor: executor:
name: packer/default name: packer
packer-version: 1.6.6
steps: steps:
- checkout - checkout
- attach_workspace: - attach_workspace:
at: "." at: "."
- packer/build: - packer_build:
template: tools/packer/lotus.pkr.hcl template: tools/packer/lotus.pkr.hcl
args: "-var ci_workspace_bins=./linux -var lotus_network=mainnet -var git_tag=$CIRCLE_TAG" args: "-var ci_workspace_bins=./linux -var lotus_network=mainnet -var git_tag=$CIRCLE_TAG"
publish-packer-calibrationnet: publish-packer-calibrationnet:
description: build and push AWS IAM and DigitalOcean droplet. description: build and push AWS IAM and DigitalOcean droplet.
executor: executor:
name: packer/default name: packer
packer-version: 1.6.6
steps: steps:
- checkout - checkout
- attach_workspace: - attach_workspace:
at: "." at: "."
- packer/build: - packer_build:
template: tools/packer/lotus.pkr.hcl template: tools/packer/lotus.pkr.hcl
args: "-var ci_workspace_bins=./linux-calibrationnet -var lotus_network=calibrationnet -var git_tag=$CIRCLE_TAG" args: "-var ci_workspace_bins=./linux-calibrationnet -var lotus_network=calibrationnet -var git_tag=$CIRCLE_TAG"
publish-packer-butterflynet: publish-packer-butterflynet:
description: build and push AWS IAM and DigitalOcean droplet. description: build and push AWS IAM and DigitalOcean droplet.
executor: executor:
name: packer/default name: packer
packer-version: 1.6.6
steps: steps:
- checkout - checkout
- attach_workspace: - attach_workspace:
at: "." at: "."
- packer/build: - packer_build:
template: tools/packer/lotus.pkr.hcl template: tools/packer/lotus.pkr.hcl
args: "-var ci_workspace_bins=./linux-butterflynet -var lotus_network=butterflynet -var git_tag=$CIRCLE_TAG" args: "-var ci_workspace_bins=./linux-butterflynet -var lotus_network=butterflynet -var git_tag=$CIRCLE_TAG"
publish-packer-snap: publish-packer-snap:
description: build packer image with snap. mainnet only. description: build packer image with snap. mainnet only.
executor: executor:
name: packer/default name: packer
packer-version: 1.6.6
steps: steps:
- checkout - checkout
- attach_workspace: - attach_workspace:
at: "." at: "."
- packer/build: - packer_build:
template: tools/packer/lotus-snap.pkr.hcl template: tools/packer/lotus-snap.pkr.hcl
publish-dockerhub: publish-dockerhub:
description: publish to dockerhub description: publish to dockerhub

View File

@ -2,7 +2,6 @@ version: 2.1
orbs: orbs:
go: gotest/tools@0.0.13 go: gotest/tools@0.0.13
aws-cli: circleci/aws-cli@1.3.2 aws-cli: circleci/aws-cli@1.3.2
packer: salaxander/packer@0.0.3
executors: executors:
golang: golang:
@ -12,6 +11,16 @@ executors:
ubuntu: ubuntu:
docker: docker:
- image: ubuntu:20.04 - image: ubuntu:20.04
packer:
description: |
The HashiCorp provided Packer container
parameters:
packer-version:
type: string
default: "1.8"
docker:
- image: hashicorp/packer:<< parameters.packer-version >>
commands: commands:
install-deps: install-deps:
@ -75,6 +84,26 @@ commands:
command: | command: |
git fetch --all git fetch --all
packer_build:
description: "Run a packer build"
parameters:
template:
description: |
The name of the packer template file
type: string
default: packer.json
args:
description: |
Arguments to pass to the packer build command
type: string
default: ""
steps:
- run:
name: "Run a packer build"
command: packer build << parameters.args >> << parameters.template >>
no_output_timeout: 30m
jobs: jobs:
mod-tidy-check: mod-tidy-check:
executor: golang executor: golang
@ -688,49 +717,45 @@ jobs:
publish-packer-mainnet: publish-packer-mainnet:
description: build and push AWS IAM and DigitalOcean droplet. description: build and push AWS IAM and DigitalOcean droplet.
executor: executor:
name: packer/default name: packer
packer-version: 1.6.6
steps: steps:
- checkout - checkout
- attach_workspace: - attach_workspace:
at: "." at: "."
- packer/build: - packer_build:
template: tools/packer/lotus.pkr.hcl template: tools/packer/lotus.pkr.hcl
args: "-var ci_workspace_bins=./linux -var lotus_network=mainnet -var git_tag=$CIRCLE_TAG" args: "-var ci_workspace_bins=./linux -var lotus_network=mainnet -var git_tag=$CIRCLE_TAG"
publish-packer-calibrationnet: publish-packer-calibrationnet:
description: build and push AWS IAM and DigitalOcean droplet. description: build and push AWS IAM and DigitalOcean droplet.
executor: executor:
name: packer/default name: packer
packer-version: 1.6.6
steps: steps:
- checkout - checkout
- attach_workspace: - attach_workspace:
at: "." at: "."
- packer/build: - packer_build:
template: tools/packer/lotus.pkr.hcl template: tools/packer/lotus.pkr.hcl
args: "-var ci_workspace_bins=./linux-calibrationnet -var lotus_network=calibrationnet -var git_tag=$CIRCLE_TAG" args: "-var ci_workspace_bins=./linux-calibrationnet -var lotus_network=calibrationnet -var git_tag=$CIRCLE_TAG"
publish-packer-butterflynet: publish-packer-butterflynet:
description: build and push AWS IAM and DigitalOcean droplet. description: build and push AWS IAM and DigitalOcean droplet.
executor: executor:
name: packer/default name: packer
packer-version: 1.6.6
steps: steps:
- checkout - checkout
- attach_workspace: - attach_workspace:
at: "." at: "."
- packer/build: - packer_build:
template: tools/packer/lotus.pkr.hcl template: tools/packer/lotus.pkr.hcl
args: "-var ci_workspace_bins=./linux-butterflynet -var lotus_network=butterflynet -var git_tag=$CIRCLE_TAG" args: "-var ci_workspace_bins=./linux-butterflynet -var lotus_network=butterflynet -var git_tag=$CIRCLE_TAG"
publish-packer-snap: publish-packer-snap:
description: build packer image with snap. mainnet only. description: build packer image with snap. mainnet only.
executor: executor:
name: packer/default name: packer
packer-version: 1.6.6
steps: steps:
- checkout - checkout
- attach_workspace: - attach_workspace:
at: "." at: "."
- packer/build: - packer_build:
template: tools/packer/lotus-snap.pkr.hcl template: tools/packer/lotus-snap.pkr.hcl
publish-dockerhub: publish-dockerhub:
description: publish to dockerhub description: publish to dockerhub