name: CI on: push: branches: - '*' pull_request: branches: - '*' workflow_dispatch: jobs: build_linux: name: Linux runs-on: ubuntu-22.04 strategy: matrix: config: - { name: "GCC", cc: gcc, cxx: g++ } - { name: "clang", cc: clang, cxx: clang++ } env: CC: ${{ matrix.config.cc }} CXX: ${{ matrix.config.cxx }} steps: - 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)-portable" >> "$GITHUB_ENV" - uses: actions/checkout@v2 - name: Python Setup uses: actions/setup-python@v2 with: python-version: 3.9 - name: Update Packages run: sudo apt-get update - name: Install Dependencies run: bash scripts/install-dependencies.sh --debug - name: Build run: | bash --version bash scripts/build.sh --debug --forcefallback --portable - name: Package if: ${{ matrix.config.cc == 'gcc' }} run: bash scripts/package.sh --version ${INSTALL_REF} --debug --binary - name: Upload Artifacts uses: actions/upload-artifact@v2 if: ${{ matrix.config.cc == 'gcc' }} with: name: Linux Artifacts path: ${{ env.INSTALL_NAME }}.tar.gz build_macos: name: macOS (x86_64) runs-on: macos-11 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 run: bash scripts/install-dependencies.sh --debug - name: Build run: | bash --version bash scripts/build.sh --bundle --debug --forcefallback - name: Create DMG Image run: bash scripts/package.sh --version ${INSTALL_REF} --debug --dmg - name: Upload DMG Image uses: actions/upload-artifact@v2 with: name: macOS DMG Image path: ${{ env.INSTALL_NAME }}.dmg build_windows_msys2: name: Windows runs-on: windows-2019 strategy: matrix: msystem: [MINGW32, MINGW64] defaults: run: shell: msys2 {0} steps: - uses: actions/checkout@v2 - uses: msys2/setup-msys2@v2 with: msystem: ${{ matrix.msystem }} update: true install: >- base-devel git zip - name: Set Environment Variables run: | echo "$HOME/.local/bin" >> "$GITHUB_PATH" echo "INSTALL_REF=${GITHUB_REF##*/}" >> "$GITHUB_ENV" if [[ "${MSYSTEM}" == "MINGW64" ]]; then echo "INSTALL_NAME=lite-xl-${GITHUB_REF##*/}-windows-x86_64" >> "$GITHUB_ENV" else echo "INSTALL_NAME=lite-xl-${GITHUB_REF##*/}-windows-i686" >> "$GITHUB_ENV" fi - name: Install Dependencies run: bash scripts/install-dependencies.sh --debug - name: Build run: | bash --version bash scripts/build.sh -U --debug --forcefallback - name: Package run: bash scripts/package.sh --version ${INSTALL_REF} --debug --binary - name: Upload Artifacts uses: actions/upload-artifact@v2 with: name: Windows Artifacts path: ${{ env.INSTALL_NAME }}.zip