default_config: &default_config environment: SENTRY_ORG: shift-reset-llc SENTRY_PROJECT: actual YARN_CACHE_FOLDER: ~/.cache/yarn CSC_LINK: ~/windows-shift-reset-llc.p12 cached_files: &cached_files paths: - ~/.cache/yarn - node_modules - ./packages/desktop-electron/node_modules - ./packages/loot-core/node_modules - ./mobile/node_modules - ./import-ynab4/node_modules - ./api/node_modules - ./node-libofx/node_modules - ./loot-design/node_modules - ./desktop-client/node_modules key: v3-dependencies-{{ checksum "yarn.lock" }} version_tag_only: &version_tag_only filters: branches: ignore: /.*/ tags: only: /^\d+\.\d+\.\d+$/ version: 2.1 orbs: win: circleci/windows@2.2.0 jobs: test: <<: *default_config docker: - image: circleci/node:16.15.0 working_directory: ~/repo steps: - checkout - restore_cache: keys: - v3-dependencies-{{ checksum "yarn.lock" }} - run: yarn install --immutable - save_cache: <<: *cached_files - run: yarn test build_windows: <<: *default_config executor: name: win/default working_directory: ~/repo steps: - checkout - run: command: npm install -g @sentry/cli --unsafe-perm shell: bash - run: command: echo $WINDOWS_CERT | base64 --decode >> ${HOME}/windows-shift-reset-llc.p12 shell: bash - run: command: yarn install --immutable shell: bash - run: command: ./bin/package --release --version ${CIRCLE_TAG} shell: bash build_linux: <<: *default_config docker: - image: circleci/node:16.15.0 working_directory: ~/repo steps: - checkout - restore_cache: keys: - v3-dependencies-{{ checksum "yarn.lock" }} - run: yarn install --immutable - run: sudo npm install -g @sentry/cli --unsafe-perm - run: ./bin/package --release --version ${CIRCLE_TAG} workflows: version: 2 test: jobs: - test build_version: jobs: - test: <<: *version_tag_only - build_windows: <<: *version_tag_only requires: - test - build_linux: <<: *version_tag_only requires: - test