gns3-web-ui/.circleci/config.yml
2021-02-27 16:24:47 +10:30

120 lines
3.8 KiB
YAML

# iOS CircleCI 2.1 configuration file
version: 2.1
orbs:
node: circleci/node@4.2.0
jobs:
build:
macos:
xcode: "10.1.0"
steps:
- checkout
- node/install:
install-yarn: true
- run:
name: Update BREW and print configs
command: |
brew update
brew analytics off
brew --env
brew --config
- run:
name: Set timezone and check current datetime
command: |
sudo systemsetup -settimezone Europe/Warsaw
echo "Today is $(date +"%Y-%m-%d %T")"
- run:
name: Set ENV variables
command: |
echo 'export HOMEBREW_NO_AUTO_UPDATE=1' >> ~/.envs
- run:
name: Install Python version 3.6.5 & readline 7.0.5
command: |
source ~/.envs
curl -o /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/python.rb https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb
curl -o /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/readline.rb https://raw.githubusercontent.com/Homebrew/homebrew-core/b1bd1c4a62e1336422de3614d1fc49ffbce589a8/Formula/readline.rb
# remove check for old compilers which creates the error described in https://github.com/sashkab/homebrew-python/issues/36
sed -i.bak -e '58,61d' /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/python.rb
# remove 'do devel' block to avoid error: Calling 'devel' blocks in formulae is disabled!
sed -i.bak -e '14,17d' /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/python.rb
brew unlink python
brew uninstall --ignore-dependencies readline
brew install readline
brew info readline
brew pin readline
# --ignore-dependencies is used to prevent this issue: https://github.com/tensorflow/tensorflow/issues/25093
brew install --ignore-dependencies python
#brew link python 3.6.5_1
brew info python
brew pin python
- run:
name: Installed python and pip version
command: |
python3 -V
pip3 -V
- restore_cache:
name: Restore Yarn Package Cache
keys:
- yarn-packages-{{ checksum "yarn.lock" }}
- run:
name: Install project
# increased timeout is for material-design-icons
command: |
yarn install --network-timeout 1000000
- save_cache:
name: Save Yarn Package Cache
key: yarn-packages-{{ checksum "yarn.lock" }}
paths:
- ~/.cache/yarn
- run:
name: Building WebUI for distribution
command: |
yarn buildforelectron
- run:
name: Building gns3server
command: |
python3 -V
python3 -m pip install -U pip
python3 -m pip install -r scripts/requirements.txt
python3 scripts/build.py download -a
# necessary because of https://github.com/GNS3/gns3-gui/issues/2849
python3 -m pip install jsonschema==2.6.0
python3 scripts/build.py build_exe -b dist/exe.gns3server -s
python3 scripts/build.py validate -b dist
- run:
name: Dist project
command: |
yarn electron-builder --mac --x64 --publish always
- run:
name: Gather artifacts
command: |
mkdir artifacts
cp build/*.dmg artifacts/
- store_artifacts:
path: artifacts
destination: artifacts
workflows:
version: 2
build_and_deploy:
jobs:
- build:
filters:
tags:
only: /v.*/