6767
6868 # Define configuration options for each Node.js version:
6969 include :
70+ - OS : ' ubuntu-latest'
71+ PLATFORM : ' linux'
72+
73+ - OS : ' macOS-latest'
74+ PLATFORM : ' macos'
75+
7076 - NODE_VERSION : ' 12'
7177 NPM_VERSION : ' >2.7.0'
7278
@@ -90,44 +96,77 @@ jobs:
9096
9197 # Define the sequence of job steps...
9298 steps :
93- # Checkout the repository:
94- - name : ' Checkout repository'
95- uses : actions/checkout@v1
96- with :
97- # Specify whether to remove untracked files before checking out the repository:
98- clean : false
99-
100- # Limit clone depth to the most recent 100 commits:
101- fetch-depth : 100
102-
103- # Specify whether to download Git-LFS files:
104- lfs : false
99+ # Install system packages:
100+ - name : ' Install system packages'
101+ run : |
102+ if [[ ${{ matrix.PLATFORM }} = "linux" ]]; then
103+ sudo -E apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
104+ sudo -E apt-get update -q
105+ sudo -E apt-get -yq --no-install-suggests --no-install-recommends --allow-downgrades --allow-remove-essential --allow-change-held-packages install binutils gcc-5 gcc-5-multilib g++-5 g++-5-multilib gfortran-5 gfortran-5-multilib xvfb
106+ mkdir -p $HOME/bin;
107+ ln -s /usr/bin/gcc-5 $HOME/bin/gcc;
108+ ln -s /usr/bin/g++-5 $HOME/bin/g++;
109+ ln -s /usr/bin/gfortran-5 $HOME/bin/gfortran;
110+ else
111+ brew update;
112+ brew install -v gcc;
113+ fi
114+
115+ # Configure the virtual display server (needed for electron):
116+ - name : ' Configure virtual display server'
117+ run : |
118+ export DISPLAY=':99.0'
119+ Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
105120
106121 # Install Node.js:
107122 - name : ' Install Node.js'
108123 uses : actions/setup-node@v1
109124 with :
110125 node-version : ${{ matrix.NODE_VERSION }}
111- timeout-minutes : 5
112-
113- # Update the npm client (older clients cannot handle scoped modules):
114- - name : ' Update npm'
115- shell : bash
116- run : |
117- npm install -g npm@"${{ matrix.NPM_VERSION }}"
118- timeout-minutes : 5
126+ timeout-minutes : 10
119127
120128 # Print debug info:
121129 - name : ' Print debug info'
122130 run : |
131+ echo 'gcc:'
132+ gcc --version
133+ echo ''
134+ echo 'g++:'
135+ g++ --version
136+ echo ''
137+ echo 'gfortran:'
138+ gfortran --version
139+ echo ''
123140 echo 'Git:'
124141 git --version
125142 echo ''
126143 echo 'Node.js:'
144+ file $(which node)
127145 node --version
128146 node -p 'process.platform + "@" + process.arch'
129147 echo ''
130148 echo 'npm:'
131149 npm --version
132150 npm config get registry
133151 timeout-minutes : 2
152+
153+ # Update the npm client (older clients cannot handle scoped modules):
154+ - name : ' Update npm'
155+ shell : bash
156+ run : |
157+ npm install -g npm@"${{ matrix.NPM_VERSION }}"
158+ npm --version
159+ timeout-minutes : 5
160+
161+ # Checkout the repository:
162+ - name : ' Checkout repository'
163+ uses : actions/checkout@v1
164+ with :
165+ # Specify whether to remove untracked files before checking out the repository:
166+ clean : false
167+
168+ # Limit clone depth to the most recent 100 commits:
169+ fetch-depth : 100
170+
171+ # Specify whether to download Git-LFS files:
172+ lfs : false
0 commit comments