From 2daa167ba81c928c8cab674a3a7ae0775c4969d0 Mon Sep 17 00:00:00 2001 From: duncdrum Date: Tue, 17 Aug 2021 15:02:20 +0200 Subject: [PATCH] feat(ci): mutli os build see #92 --- .circleci/config.yml | 67 +++++++++++++++++++++++++++++--------------- 1 file changed, 44 insertions(+), 23 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index ba1bba0..ef0717e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,41 +1,62 @@ version: 2.1 # todo: -# - replicate travis + appveyour features in circle -# - add notarisation signing for win/mac on circle -# - consider writing a custom orb -# - rebase all the circle stuff and squash -# - add caching +# - add notarisation signing for win/mac on circle (post-step) +# - squash circle commits +# - add context for secrets +# - contact support about windows orb fail orbs: # see https://circleci.com/developer/orbs/orb/circleci/node +# see https://circleci.com/developer/orbs/orb/circleci/windows node: circleci/node@4.7.0 + win: circleci/windows@2.4.1 +executors: + linux: &nix + docker: + - image: cimg/python:3.9.6-node + # auth: + # username: mydockerhub-user + # password: $DOCKERHUB_PASSWORD + windows: win/default + macos: # macos executor using xcode 11 should it be 12? + macos: + xcode: 12.5.1 + jobs: compile: - # todo switch to evolvedbinary/fs-build:centos7_x64-be - docker: - - image: 'evolvedbinary/fs-build:centos7_x64-be' - # executor: - # name: node/default - # tag: '14.17.5' - steps: + parameters: + os: + type: executor + node-version: + type: string + executor: << parameters.os >> + steps: - checkout - # - run: sudo apt-get --yes install libx11-dev libxkbfile-dev + - when: + condition: + equal: [<>, *nix] + steps: + - run: + command: | + sudo apt-get update + sudo apt-get install -y libx11-dev libxkbfile-dev libsecret-1-0 - node/install: - install-yarn: true + node-version: << parameters.node-version >> + install-yarn: true + install-npm: false - node/install-packages: - # TODO: check if this is what we realy realy want + cache-path: ~/project/node_modules + # TODO: check if this is what we want, what we really really want override-ci-command: yarn install --ignore-engines pkg-manager: yarn - run: node --version - run: yarn --version - run: yarn build workflows: - run-npm-command: + compile-all: jobs: - - compile - # - node/run: - # setup: apt-get --yes install libx11-dev libxkbfile-dev - # pkg-manager: yarn - # override-ci-command: yarn install --ignore-engines - # yarn-run: yarn build - # version: '14.17.5' \ No newline at end of file + - compile: + matrix: + parameters: + os: [linux, windows, macos] + node-version: ["12.22.5", "14.17.5"] \ No newline at end of file