Fairly new to Circle CI and finally managed to wrap my head around how workspaces work across jobs.
Weirdly enough it seems like the workspace does not attach correctly in this job: https://circleci.com/gh/inthepocket/hubble-scripts/362
I am trying to build binaries in a job, persist the bin
folder and attach it in the next job so I can publish them to github:
version: 2.1
executors:
node:
parameters:
image:
type: string
default: "10"
docker:
- image: circleci/node:<< parameters.image >>
jobs:
build:
executor: node
steps:
- checkout
- run: npm ci
- run:
name: Build artifacts (binary + node runtime)
command: npm run build
- persist_to_workspace:
root: .
paths:
- bin
publish_github_release:
docker:
- image: cibuilds/github
steps:
- attach_workspace:
at: .
- run:
name: Publish Github release
command: |
ls -l bin/
VERSION="$(bash bin/hubble-cli-linux-x64 --version)"
ghr -t ${GITHUB_TOKEN} -u ${CIRCLE_PROJECT_USERNAME} -r ${CIRCLE_PROJECT_REPONAME} -c ${CIRCLE_SHA1} -delete ${VERSION} bin/
workflows:
version: 2
publish_release:
jobs:
- build:
filters:
branches:
only: master
- publish_github_release:
requires:
- build
With this config I bump into the following error:
The binaries are clearly there in the output of ls bin
but not recognized when running them in the subshell to get the version.