Skip to content

Commit

Permalink
ci: Use bash_profile instead of GITHUB_ENV
Browse files Browse the repository at this point in the history
This prepares us for enabling Windows CI.
  • Loading branch information
eyal0 committed Nov 4, 2021
1 parent fe3ca6a commit a04a688
Showing 1 changed file with 25 additions and 24 deletions.
49 changes: 25 additions & 24 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,10 @@ jobs:
# msys2 -c 'if [[ -v MSYSTEM ]]; then sed -i 1d $(cygpath $GITHUB_SCRIPT); sed -i \$d $(cygpath $GITHUB_SCRIPT); if [[ -v PKG_CONFIG_PATH_MSYS ]]; then export PKG_CONFIG_PATH=$PKG_CONFIG_PATH_MSYS; fi; if [[ -v PATH_MSYS && ! ( $PATH_MSYS =~ ^D:\\\\a\\\\_temp\\\\msys\\;C:\\\\Users ) ]]; then export PATH=$(echo $PATH_MSYS | sed s/D:\\\\\\\\a\\\\\\\\_temp\\\\\\\\msys\;// | sed s/\;/:/g); fi; fi; source $(cygpath $GITHUB_SCRIPT)'
# local_install_path: '/d/a/pcb2gcode/.local'
- os: ubuntu
shell: bash
shell: '/usr/bin/bash -l -e -o pipefail {0}'
local_install_path: '$HOME/.local'
- os: macos
shell: bash
shell: '/bin/bash -l -e -o pipefail {0}'
local_install_path: '$HOME/.local'
runs-on: ${{ matrix.os }}-latest
defaults:
Expand All @@ -70,28 +70,29 @@ jobs:
run: |
mkdir -p ${{ matrix.local_install_path }}/bin
mkdir -p ${{ matrix.local_install_path }}/lib/pkgconfig
echo "PKG_CONFIG_PATH=${{ matrix.local_install_path }}/lib/pkgconfig:$PKG_CONFIG_PATH" >> $GITHUB_ENV
echo "LD_LIBRARY_PATH=${{ matrix.local_install_path }}/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV
echo "PATH=${{ matrix.local_install_path }}/bin:$PATH" >> $GITHUB_ENV
echo "LOCAL_INSTALL_PATH=${{ matrix.local_install_path }}" >> $GITHUB_ENV
rm -f ~/.bash_profile
echo "export PKG_CONFIG_PATH='${{ matrix.local_install_path }}/lib/pkgconfig:$PKG_CONFIG_PATH'" >> ~/.bash_profile
echo "export LD_LIBRARY_PATH='${{ matrix.local_install_path }}/lib:$LD_LIBRARY_PATH'" >> ~/.bash_profile
echo "export PATH='${{ matrix.local_install_path }}/bin:$PATH'" >> ~/.bash_profile
echo "export LOCAL_INSTALL_PATH='${{ matrix.local_install_path }}'" >> ~/.bash_profile
echo $GITHUB_JSON
env:
GITHUB_JSON: ${{ toJSON(github) }}
- name: Windows specific setup
if: matrix.os == 'windows'
run: |
echo "NUM_CPUS=$((`nproc --all` * 4))" >> $GITHUB_ENV
echo "export NUM_CPUS='$((`nproc --all` * 4))'" >> ~/.bash_profile
- name: Ubuntu specific setup
if: matrix.os == 'ubuntu'
run: |
sudo apt-get update
sudo apt-get install libgtkmm-2.4-dev moreutils autopoint libc6-dbg
echo "NUM_CPUS=$((`nproc --all` * 4))" >> $GITHUB_ENV
echo "export NUM_CPUS='$((`nproc --all` * 4))'" >> ~/.bash_profile
- name: Set clang as default compiler
if: matrix.compiler == 'clang++'
run: |
echo "CC=`which clang`" >> $GITHUB_ENV
echo "CXX=`which clang++`" >> $GITHUB_ENV
echo "export CC='`which clang`'" >> ~/.bash_profile
echo "export CXX='`which clang++`'" >> ~/.bash_profile
- name: g++-8 specific setup
if: matrix.compiler == 'g++-8'
run: |
Expand All @@ -112,11 +113,11 @@ jobs:
ln -f -s `which glibtoolize` ${LOCAL_INSTALL_PATH}/bin/libtoolize
ln -f -s `which glibtool` ${LOCAL_INSTALL_PATH}/bin/libtool
hash -r
echo "BOOST_ROOT=/usr/local/opt/boost@1.76" >> $GITHUB_ENV
echo "NUM_CPUS=$((`sysctl -n hw.logicalcpu` * 4))" >> $GITHUB_ENV
echo "PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opt/libffi/lib/pkgconfig" >> $GITHUB_ENV
echo "CPPFLAGS_gerbv=-DQUARTZ" >> $GITHUB_ENV
echo "PATH=/usr/local/opt/gettext/bin:$PATH" >> $GITHUB_ENV
echo "export BOOST_ROOT='/usr/local/opt/boost@1.76'" >> ~/.bash_profile
echo "export NUM_CPUS='$((`sysctl -n hw.logicalcpu` * 4))'" >> ~/.bash_profile
echo "export PKG_CONFIG_PATH='$PKG_CONFIG_PATH:/usr/local/opt/libffi/lib/pkgconfig'" >> ~/.bash_profile
echo "export CPPFLAGS_gerbv='-DQUARTZ'" >> ~/.bash_profile
echo "export PATH='/usr/local/opt/gettext/bin:$PATH'" >> ~/.bash_profile
rm /usr/local/include/boost
- name: Macos geos
if: matrix.geos != 'none' && matrix.os == 'macos'
Expand All @@ -140,7 +141,7 @@ jobs:
echo "::set-output name=path::${{ matrix.local_install_path }}"
fi
- name: Get a random number
run: echo "RANDOM_SUFFIX=${RANDOM}${RANDOM}" >> $GITHUB_ENV
run: echo "export RANDOM_SUFFIX='${RANDOM}${RANDOM}'" >> ~/.bash_profile
- name: Cache local install path
uses: eyal0/cache@main
with:
Expand All @@ -150,14 +151,14 @@ jobs:
${{ steps.sanitize-key.outputs.key }}-
update-env-variable: "UPDATE_CACHE"
- name: Default don't update cache
run: echo "UPDATE_CACHE=false" >> $GITHUB_ENV
run: echo "export UPDATE_CACHE='false'" >> ~/.bash_profile
- name: Build and install boost
if: matrix.os == 'ubuntu'
env:
BOOST: ${{ matrix.boost }}_0
run: |
if [ ! -d "${LOCAL_INSTALL_PATH}/include/boost" ]; then
echo "UPDATE_CACHE=true" >> $GITHUB_ENV
echo "export UPDATE_CACHE='true'" >> ~/.bash_profile
pushd ~
for i in {1..5}; do
wget -q -T20 -t1 -O "boost_${BOOST}.tar.bz2" "https://github.com/pcb2gcode/pcb2gcode/releases/download/v2.0.0/boost_${BOOST}.tar.bz2" && break;
Expand All @@ -170,14 +171,14 @@ jobs:
popd
popd
fi
echo "BOOST_ROOT=$(echo ${LOCAL_INSTALL_PATH})" >> $GITHUB_ENV
echo "export BOOST_ROOT='$(echo ${LOCAL_INSTALL_PATH})'" >> ~/.bash_profile
- name: Build and install geos
if: matrix.os != 'macos' && matrix.geos != 'none'
env:
GEOS: ${{ matrix.geos }}
run: |
if [ ! -d "${LOCAL_INSTALL_PATH}/include/geos" ]; then
echo "UPDATE_CACHE=true" >> $GITHUB_ENV
echo "export UPDATE_CACHE='true'" >> ~/.bash_profile
pushd ~
git clone --depth 1 --branch main https://github.com/libgeos/geos.git
pushd geos
Expand All @@ -204,7 +205,7 @@ jobs:
run: |
if ! gerbv --version || ! test -f ${LOCAL_INSTALL_PATH}/bin/gerbv.version || ! grep -qx "$(git ls-remote https://github.com/eyal0/gerbv.git heads/master)" ${LOCAL_INSTALL_PATH}/bin/gerbv.version; then
git ls-remote https://github.com/eyal0/gerbv.git heads/master > ${LOCAL_INSTALL_PATH}/bin/gerbv.version
echo "UPDATE_CACHE=true" >> $GITHUB_ENV
echo "export UPDATE_CACHE='true'" >> ~/.bash_profile
pushd ~
git clone --depth=1 --branch=master https://github.com/eyal0/gerbv.git
pushd gerbv
Expand All @@ -220,7 +221,7 @@ jobs:
run: |
if ! valgrind --version || ! grep -qx "$(git ls-remote https://github.com/eyal0/valgrind.git master)" ${LOCAL_INSTALL_PATH}/bin/valgrind.version; then
git ls-remote https://github.com/eyal0/valgrind.git master > ${LOCAL_INSTALL_PATH}/bin/valgrind.version
echo "UPDATE_CACHE=true" >> $GITHUB_ENV
echo "export UPDATE_CACHE='true'" >> ~/.bash_profile
pushd ~
git clone --depth=1 --branch=master https://github.com/eyal0/valgrind.git
pushd valgrind
Expand All @@ -234,7 +235,7 @@ jobs:
- name: Install parallel
run: |
if ! parallel --version; then
echo "UPDATE_CACHE=true" >> $GITHUB_ENV
echo "export UPDATE_CACHE='true'" >> ~/.bash_profile
pushd ~
for i in {1..5}; do
wget -q -T5 -t1 -O "parallel-latest.tar.bz2" 'https://ftpmirror.gnu.org/parallel/parallel-latest.tar.bz2' && break;
Expand Down Expand Up @@ -449,7 +450,7 @@ jobs:
steps:
- name: Download the artifacts to release
uses: actions/download-artifact@v2
- run: echo "PCB2GCODE_VERSION=$(cat version/version.txt)" >> $GITHUB_ENV
- run: echo "export PCB2GCODE_VERSION='$(cat version/version.txt)'" >> ~/.bash_profile
- name: Prepare the artifacts
run: |
mkdir -p pcb2gcode-{windows,ubuntu,macos}
Expand Down

0 comments on commit a04a688

Please sign in to comment.