diff options
| author | Francesco Abbate <francesco.bbt@gmail.com> | 2021-09-30 14:24:50 -0700 |
|---|---|---|
| committer | Francesco Abbate <francesco.bbt@gmail.com> | 2021-09-30 14:24:50 -0700 |
| commit | fb1e08840ec20bebbe06694be7deaceceb80ac8d (patch) | |
| tree | b78b9f0de061e83ee30d76add84f3cd456a42965 /.github/workflows | |
| parent | c05cddecb7a32a162a70a41ac806013faeac3e23 (diff) | |
| parent | 66196d612c94abd2997686e70d28eaecb5b4baff (diff) | |
| download | lite-xl-dmon-debug.tar.gz lite-xl-dmon-debug.zip | |
Merge branch 'dmon-1' into dmon-debugdmon-debug
Diffstat (limited to '.github/workflows')
| -rw-r--r-- | .github/workflows/build.yml | 275 |
1 files changed, 232 insertions, 43 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c4bf3358..2778de79 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,11 +1,44 @@ name: CI +# All builds use lhelper only for releases, +# otherwise for normal builds dependencies are dynamically linked. + on: - workflow_dispatch: + push: + branches: + - '*' +# tags: +# - 'v[0-9]*' + pull_request: + branches: + - '*' jobs: - build-linux: - name: Build Linux + archive_source_code: + name: Source Code Tarball + runs-on: ubuntu-18.04 + # Only on tags/releases + if: startsWith(github.ref, 'refs/tags/') + steps: + - uses: actions/checkout@v2 + - name: Python Setup + uses: actions/setup-python@v2 + with: + python-version: 3.6 + - name: Install Dependencies + run: | + sudo apt-get install -qq ninja-build + pip3 install meson + - name: Package + shell: bash + run: bash scripts/package.sh --version ${GITHUB_REF##*/} --debug --source + - uses: actions/upload-artifact@v2 + with: + name: Source Code Tarball + path: "lite-xl-*-src.tar.gz" + + build_linux: + name: Linux runs-on: ubuntu-18.04 strategy: matrix: @@ -16,48 +49,204 @@ jobs: CC: ${{ matrix.config.cc }} CXX: ${{ matrix.config.cxx }} steps: - - uses: actions/checkout@v2 - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: 3.6 - - name: Install dependencies - run: | - sudo apt-get install -qq libsdl2-dev libfreetype6 ninja-build - pip3 install meson - - name: Build package - run: bash build-packages.sh x86-64 - - name: upload packages - uses: actions/upload-artifact@v2 - with: - name: Ubuntu Package - path: lite-xl-linux-*.tar.gz + - name: Set Environment Variables + if: ${{ matrix.config.cc == 'gcc' }} + run: | + echo "$HOME/.local/bin" >> "$GITHUB_PATH" + echo "INSTALL_REF=${GITHUB_REF##*/}" >> "$GITHUB_ENV" + echo "INSTALL_NAME=lite-xl-${GITHUB_REF##*/}-linux-$(uname -m)" >> "$GITHUB_ENV" + - uses: actions/checkout@v2 + - name: Python Setup + uses: actions/setup-python@v2 + with: + python-version: 3.6 + - name: Update Packages + run: sudo apt-get update + - name: Install Dependencies + if: ${{ !startsWith(github.ref, 'refs/tags/') }} + run: bash scripts/install-dependencies.sh --debug + - name: Install Release Dependencies + if: ${{ startsWith(github.ref, 'refs/tags/') }} + run: | + bash scripts/install-dependencies.sh --debug --lhelper + bash scripts/lhelper.sh --debug + - name: Build + run: | + bash --version + bash scripts/build.sh --debug --forcefallback + - name: Package + if: ${{ matrix.config.cc == 'gcc' }} + run: bash scripts/package.sh --version ${INSTALL_REF} --debug --addons --binary + - name: AppImage + if: ${{ matrix.config.cc == 'gcc' && startsWith(github.ref, 'refs/tags/') }} + run: bash scripts/appimage.sh --nobuild --version ${INSTALL_REF} + - name: Upload Artifacts + uses: actions/upload-artifact@v2 + if: ${{ matrix.config.cc == 'gcc' }} + with: + name: Linux Artifacts + path: | + ${{ env.INSTALL_NAME }}.tar.gz + LiteXL-${{ env.INSTALL_REF }}-x86_64.AppImage - build-macox: - name: Build Mac OS X + build_macos: + name: macOS (x86_64) runs-on: macos-10.15 + env: + CC: clang + CXX: clang++ + steps: + - name: System Information + run: | + system_profiler SPSoftwareDataType + bash --version + gcc -v + xcodebuild -version + - name: Set Environment Variables + run: | + echo "$HOME/.local/bin" >> "$GITHUB_PATH" + echo "INSTALL_REF=${GITHUB_REF##*/}" >> "$GITHUB_ENV" + echo "INSTALL_NAME=lite-xl-${GITHUB_REF##*/}-macos-$(uname -m)" >> "$GITHUB_ENV" + - uses: actions/checkout@v2 + - name: Python Setup + uses: actions/setup-python@v2 + with: + python-version: 3.9 + - name: Install Dependencies + if: ${{ !startsWith(github.ref, 'refs/tags/') }} + run: bash scripts/install-dependencies.sh --debug + - name: Install Release Dependencies + if: ${{ startsWith(github.ref, 'refs/tags/') }} + run: | + bash scripts/install-dependencies.sh --debug --lhelper + bash scripts/lhelper.sh --debug + - name: Build + run: | + bash --version + bash scripts/build.sh --bundle --debug --forcefallback + - name: Error Logs + if: failure() + run: | + mkdir ${INSTALL_NAME} + cp /usr/var/lhenv/lite-xl/logs/* ${INSTALL_NAME} + tar czvf ${INSTALL_NAME}.tar.gz ${INSTALL_NAME} +# - name: Package +# if: ${{ !startsWith(github.ref, 'refs/tags/') }} +# run: bash scripts/package.sh --version ${INSTALL_REF} --debug --addons + - name: Create DMG Image + run: bash scripts/package.sh --version ${INSTALL_REF} --debug --addons --dmg + - name: Upload DMG Image + uses: actions/upload-artifact@v2 + with: + name: macOS DMG Image + path: ${{ env.INSTALL_NAME }}.dmg + - name: Upload Error Logs + uses: actions/upload-artifact@v2 + if: failure() + with: + name: Error Logs + path: ${{ env.INSTALL_NAME }}.tar.gz + + build_windows_msys2: + name: Windows + runs-on: windows-2019 strategy: matrix: - config: - # - { name: "GCC", cc: gcc-10, cxx: g++-10 } - - { name: "clang", cc: clang, cxx: clang++ } - env: - CC: ${{ matrix.config.cc }} - CXX: ${{ matrix.config.cxx }} + msystem: [MINGW32, MINGW64] + defaults: + run: + shell: msys2 {0} + steps: + - uses: actions/checkout@v2 + - uses: msys2/setup-msys2@v2 + with: + #msystem: MINGW64 + msystem: ${{ matrix.msystem }} + update: true + install: >- + base-devel + git + zip + - name: Set Environment Variables + run: | + echo "$HOME/.local/bin" >> "$GITHUB_PATH" + echo "INSTALL_NAME=lite-xl-${GITHUB_REF##*/}-windows-$(uname -m)" >> "$GITHUB_ENV" + echo "INSTALL_REF=${GITHUB_REF##*/}" >> "$GITHUB_ENV" + - name: Install Dependencies + if: ${{ !startsWith(github.ref, 'refs/tags/') }} + run: bash scripts/install-dependencies.sh --debug + - name: Install Release Dependencies + if: ${{ startsWith(github.ref, 'refs/tags/') }} + run: bash scripts/install-dependencies.sh --debug --lhelper + - name: Build + run: | + bash --version + bash scripts/build.sh --debug --forcefallback + - name: Error Logs + if: failure() + run: | + mkdir ${INSTALL_NAME} + cp /usr/var/lhenv/lite-xl/logs/* ${INSTALL_NAME} + tar czvf ${INSTALL_NAME}.tar.gz ${INSTALL_NAME} + - name: Package + run: bash scripts/package.sh --version ${INSTALL_REF} --debug --addons --binary + - name: Build Installer + if: ${{ startsWith(github.ref, 'refs/tags/') }} + run: bash scripts/innosetup/innosetup.sh --debug + - name: Upload Artifacts + uses: actions/upload-artifact@v2 + with: + name: Windows Artifacts + path: | + LiteXL*.exe + ${{ env.INSTALL_NAME }}.zip + - name: Upload Error Logs + uses: actions/upload-artifact@v2 + if: failure() + with: + name: Error Logs + path: ${{ env.INSTALL_NAME }}.tar.gz + + deploy: + name: Deployment + runs-on: ubuntu-18.04 +# if: startsWith(github.ref, 'refs/tags/') + if: false + needs: + - archive_source_code + - build_linux + - build_macos + - build_windows_msys2 steps: - - uses: actions/checkout@v2 - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: 3.9 - - name: Install dependencies - run: | - pip3 install meson - brew install ninja sdl2 - - name: Build package - run: bash build-packages.sh x86-64 - - name: upload packages - uses: actions/upload-artifact@v2 - with: - name: Mac OS X Package - path: lite-xl-macosx-*.zip + - name: Set Environment Variables + run: echo "INSTALL_REF=${GITHUB_REF##*/}" >> "$GITHUB_ENV" + - uses: actions/download-artifact@v2 + with: + name: Linux Artifacts + - uses: actions/download-artifact@v2 + with: + name: macOS DMG Image + - uses: actions/download-artifact@v2 + with: + name: Source Code Tarball + - uses: actions/download-artifact@v2 + with: + name: Windows Artifacts + - name: Display File Information + shell: bash + run: ls -lR + # Note: not using `actions/create-release@v1` + # because it cannot update an existing release + # see https://github.com/actions/create-release/issues/29 + - uses: softprops/action-gh-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ env.INSTALL_REF }} + name: Release ${{ env.INSTALL_REF }} + draft: false + prerelease: false + files: | + lite-xl-${{ env.INSTALL_REF }}-* + LiteXL*.AppImage + LiteXL*.exe |
