From 39b528a071faa00fb99b46264cd08bd2319e8ba2 Mon Sep 17 00:00:00 2001 From: kichik Date: Tue, 13 Oct 2020 17:38:40 +0000 Subject: [PATCH] switch to github actions git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@7225 212acab6-be3b-0410-9dea-997c60f758d6 --- .github/workflows/build.yml | 66 +++++++++++++++++++++++++++++++++++++ .travis.yml | 36 -------------------- README.md | 2 +- 3 files changed, 67 insertions(+), 37 deletions(-) create mode 100644 .github/workflows/build.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..c9362bd2 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,66 @@ +name: CI +on: [push, pull_request] +jobs: + build: + strategy: + matrix: + os: [ubuntu-18.04, macos-10.15, windows-2019] + log: [yes, no] + include: + - nightly: nightly + os: windows-2019 + log: no + + runs-on: ${{ matrix.os }} + steps: + - name: Checkout + uses: actions/checkout@v1 + - name: Brew Dependencies + run: | + brew install scons mingw-w64 zlib + curl -sLo cppunit.rb "https://sourceforge.net/p/nsis/code/HEAD/tree/web-scripts/trunk/cppunit.rb?format=raw" + brew install -s cppunit.rb + if: startsWith(matrix.os, 'macos') + - name: Apt Dependencies + run: sudo DEBIAN_FRONTEND=noninteractive apt-get install -y scons g++-mingw-w64-i686 binutils-mingw-w64-i686 zlib1g-dev libcppunit-dev + if: startsWith(matrix.os, 'ubuntu') + - name: Setup Python + uses: actions/setup-python@v1 + with: + python-version: '3.8' + if: startsWith(matrix.os, 'windows') + - name: Choco Dependencies + run: | + curl -sLo cppunit-msvc-1.12.1.exe https://downloads.sourceforge.net/project/cppunit-msvc/cppunit-msvc-1.12.1.exe + $arguments = "/S /D=$HOME\cppunit" + Start-Process ./cppunit-msvc-1.12.1.exe $arguments -NoNewWindow -Wait + pip install scons + choco install html-help-workshop + echo "${Env:ProgramFiles(x86)}\HTML Help Workshop" >> $Env:GITHUB_PATH + if: startsWith(matrix.os, 'windows') + - name: Zlib Dependency + run: | + curl -sLo $HOME/zlib.zip "https://downloads.sourceforge.net/project/libpng/zlib/1.2.8/zlib128-dll.zip?r=&ts=1403402496&use_mirror=hivelocity" + mkdir $HOME/zlib + unzip $HOME/zlib.zip -d $HOME/zlib + - name: Build + run: | + scons ZLIB_W32=$HOME/zlib SKIPUTILS="NSIS Menu" NSIS_CONFIG_LOG=${{ matrix.log }} test dist-zip + if: "!startsWith(matrix.os, 'windows')" + - name: Build (Windows) + run: | + scons ZLIB_W32=$HOME/zlib SKIPUTILS="NSIS Menu" NSIS_CONFIG_LOG=${{ matrix.log }} APPEND_CPPPATH=$HOME/cppunit/include APPEND_LIBPATH=$HOME/cppunit/lib/release-win32 test dist + if: startsWith(matrix.os, 'windows') + - name: Config Errors + if: ${{ failure() }} + run: cat config.log + - name: Deploy + run: | + echo https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID > build.log + #Compress-Archive -Path build.log -DestinationPath nsis-*.zip -Update + echo $Env:DEPLOY_KEY > $HOME/deploy_key + ssh -oStrictHostKeyChecking=no -o "BatchMode yes" -i $HOME/deploy_key -T kichik,nsis@shell.sourceforge.net create + cat nsis-*.zip | ssh -oStrictHostKeyChecking=no -o "BatchMode yes" -i $HOME/deploy_key kichik,nsis@shell.sourceforge.net /home/project-web/nsis/bin/nightly-deploy.sh + env: + DEPLOY_KEY: ${{ secrets.DEPLOY_KEY }} + if: matrix.nightly == 'nightly' && github.ref == 'refs/heads/master' diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 972133bf..00000000 --- a/.travis.yml +++ /dev/null @@ -1,36 +0,0 @@ -language: cpp -compiler: -- gcc -os: -- linux -- osx -dist: trusty -before_install: -- if [[ $TRAVIS_OS_NAME == 'linux' ]]; then sudo apt-get install scons mingw32 mingw32-binutils zlib1g-dev libcppunit-dev; fi -- if [[ $TRAVIS_OS_NAME == 'osx' ]]; then brew update; fi -- if [[ $TRAVIS_OS_NAME == 'osx' ]]; then brew install https://sourceforge.net/p/nsis/code/HEAD/tree/web-scripts/trunk/cppunit.rb?format=raw; fi -- if [[ $TRAVIS_OS_NAME == 'osx' ]]; then brew install scons mingw-w64 zlib; fi -install: -- wget -O /tmp/zlib.zip "https://downloads.sourceforge.net/project/libpng/zlib/1.2.8/zlib128-dll.zip?r=&ts=1403402496&use_mirror=hivelocity" -- mkdir /tmp/zlib -- unzip /tmp/zlib.zip -d /tmp/zlib -script: -- set -o pipefail && scons ZLIB_W32=/tmp/zlib SKIPUTILS="NSIS Menu" NSIS_CONFIG_LOG=$CFG_LOG test dist-zip | tee build.log -- zip nsis-*.zip build.log -env: -- CFG_LOG=yes -- CFG_LOG=no -deploy: - provider: script - skip_cleanup: true - script: echo $DEPLOY_KEY | base64 -d > deploy_key && chmod 600 deploy_key && ssh -o "BatchMode yes" -i deploy_key -T kichik,nsis@shell.sourceforge.net create && cat nsis-*.zip | ssh -o "BatchMode yes" -i deploy_key kichik,nsis@shell.sourceforge.net /home/project-web/nsis/bin/nightly-deploy.sh - on: - branch: master - repo: kichik/nsis - condition: "$CFG_LOG = no && $TRAVIS_OS_NAME = linux" -after_deploy: rm -f deploy_key -addons: - ssh_known_hosts: shell.sourceforge.net -notifications: - slack: - secure: Q61wSM9pOKiRp3WDNinMkZd+HWp6BFe+TlZDKoJgZJstMIT48TtkAaVmqW2h4HXtNxP9HvD1vzXqWGqGMG8vIO6hlQO5Rm/ruVa/rfb1kxLfD/dv+g/63ZloF3QmKKK++xeYKVNmPRVi7aSFjpx1wa+eG4rYPf0frc5XSFDuhVQ= diff --git a/README.md b/README.md index 423479c6..1ef48a9c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # NSIS -[![Build Status](https://travis-ci.org/kichik/nsis.svg?branch=master)](https://travis-ci.org/kichik/nsis) +[![CI](https://github.com/kichik/nsis/workflows/CI/badge.svg)](https://github.com/kichik/nsis/actions) NSIS (Nullsoft Scriptable Install System) is a professional open source system to create Windows installers. It is designed to be as small and flexible as possible and is therefore very suitable for internet distribution.