Skip to content

project files

project files #54

Workflow file for this run

name: CD
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the master branch
push:
branches: [ master ]
pull_request:
branches: [ master ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
build-ubuntu:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- name: Install Lazarus
uses: gcarreno/[email protected]
with:
lazarus-version: stable
- run: .github/download-dependencies.sh && .github/setup-fpc-cfg.sh
- run: lazbuild --add-package internettools/internettools.lpk
- run: ./manage.sh linux64
- name: Test Xidel
run: bash ./tests/tests.sh
- name: 'Cross compile FreePascal'
run: |
sudo apt install libc6-dev-i386-cross libgcc-10-dev-i386-cross binutils-i686-linux-gnu libc6-dev-armel-cross libgcc-10-dev-armel-cross binutils-arm-linux-gnueabi libc6-dev-arm64-cross libgcc-10-dev-arm64-cross binutils-aarch64-linux-gnu
dpkg -L libc6-dev-i386-cross libgcc-10-dev-i386-cross binutils-i686-linux-gnu libc6-dev-armel-cross libgcc-10-dev-armel-cross binutils-arm-linux-gnueabi libc6-dev-arm64-cross libgcc-10-dev-arm64-cross binutils-aarch64-linux-gnu
cd /usr/share/fpcsrc/3.2*/
localcompiler=/usr/bin/fpc
sudo ln -sr $(which arm-linux-gnueabi-as) /usr/bin/arm-linux-as
sudo ln -sr $(which arm-linux-gnueabi-ld) /usr/bin/arm-linux-ld
sudo ln -sr $(which aarch64-linux-gnu-as) /usr/bin/aarch64-linux-as
sudo ln -sr $(which aarch64-linux-gnu-ld) /usr/bin/aarch64-linux-ld
sudo make crossinstall OS_TARGET=win32 CPU_TARGET=i386 PP=$localcompiler
sudo make crossinstall OS_TARGET=linux CPU_TARGET=i386 PP=$localcompiler
sudo make crossinstall OS_TARGET=linux CPU_TARGET=arm PP=$localcompiler
sudo make crossinstall OS_TARGET=linux CPU_TARGET=aarch64 PP=$localcompiler
sudo ln -sr /usr/local/lib/fpc/3.2.2/ppcrossa64 /usr/bin/
sudo ln -sr /usr/local/lib/fpc/3.2.2/ppcross386 /usr/bin/
sudo ln -sr /usr/local/lib/fpc/3.2.2/ppcrossarm /usr/bin/
- name: Prepare to build Xidel release version
run: |
cp ~/.fpc.cfg.release ~/.fpc.cfg
find -name "*.o" -or -name "*.ppu" -delete
./xidel --xml xidel.lpi -e='x:replace-nodes((//Checks,//Optimizations),())' --in-place
rm xidel
- run: ./manage.sh linux64 && strip --strip-all xidelpackage/xidel
- name: 'Upload '
uses: actions/upload-artifact@v3
with:
name: xidel.linux64
path: xidelpackage/*
- name: 'Upload '
uses: actions/upload-artifact@v3
with:
name: xidel.linux64.deb
path: xidel*.deb
- run: rm *.deb
- name: 'Cross compile Xidel 32-Bit'
run: ./manage.sh linux32 && strip --strip-all xidelpackage/xidel
- name: 'Upload '
uses: actions/upload-artifact@v3
with:
name: xidel.linux32
path: xidelpackage/*
- name: 'Upload '
uses: actions/upload-artifact@v3
with:
name: xidel.linux32.deb
path: xidel*.deb
- run: rm *.deb
- name: 'Cross compile Xidel ARM'
run: ./manage.sh linuxarm && arm-linux-gnueabi-strip --strip-all xidelpackage/xidel
- name: 'Upload '
uses: actions/upload-artifact@v3
with:
name: xidel.linuxarm
path: xidelpackage/*
- name: 'Cross compile Xidel AARCH64'
run: ./manage.sh linuxarm64 && aarch64-linux-gnu-strip --strip-all xidelpackage/xidel
- name: 'Upload '
uses: actions/upload-artifact@v3
with:
name: xidel.linuxarm64
path: xidelpackage/*
- name: 'Cross compile Xidel Win32'
run: ./manage.sh win32 && strip --strip-all xidelpackage/xidel.exe
- name: 'Upload '
uses: actions/upload-artifact@v3
with:
name: xidel.win32
path: xidelpackage/*
- name: 'Cross compile Xidel Win32 OpenSSL'
run: ./manage.sh win32openssl && strip --strip-all xidelpackage/xidel.exe
- name: 'Upload '
uses: actions/upload-artifact@v3
with:
name: xidel.openssl.win32
path: xidelpackage/*
- name: 'Debug version'
run: cp ~/.fpc.cfg.debug ~/.fpc.cfg
- run: find -name "*.o" -or -name "*.ppu" -delete
- run: ./manage.sh linux64
- name: 'Upload '
uses: actions/upload-artifact@v3
with:
name: xidel-debug.linux64
path: xidelpackage/*
- name: 'Upload '
uses: actions/upload-artifact@v3
with:
name: xidel-debug.linux64.deb
path: xidel*.deb
- run: rm *.deb
- name: 'Cross compile Xidel 32-Bit Debug'
run: ./manage.sh linux32
- name: 'Upload '
uses: actions/upload-artifact@v3
with:
name: xidel-debug.linux32
path: xidelpackage/*
- name: 'Upload '
uses: actions/upload-artifact@v3
with:
name: xidel-debug.linux32.deb
path: xidel*.deb
- run: rm *.deb
- name: 'Cross compile Xidel ARM Debug'
run: ./manage.sh linuxarm
- name: 'Upload '
uses: actions/upload-artifact@v3
with:
name: xidel-debug.linuxarm
path: xidelpackage/*
- name: 'Cross compile Xidel AARCH64 Debug'
run: ./manage.sh linuxarm64
- name: 'Upload '
uses: actions/upload-artifact@v3
with:
name: xidel-debug.linuxarm64
path: xidelpackage/*
- name: 'Cross compile Xidel Win32 Debug'
run: ./manage.sh win32
- name: 'Upload '
uses: actions/upload-artifact@v3
with:
name: xidel-debug.win32
path: xidelpackage/*
- name: 'Cross compile Xidel Win32 OpenSSL Debug'
run: ./manage.sh win32openssl
- name: 'Upload '
uses: actions/upload-artifact@v3
with:
name: xidel-debug.openssl.win32
path: xidelpackage/*
build-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- name: Install Lazarus
uses: gcarreno/[email protected]
with:
lazarus-version: stable
- run: . .github/download-dependencies.sh && . .github/setup-fpc-cfg.sh "D:/a/_temp/lazarus/fpc/3.2.2/bin/x86_64-win64/fpc.cfg" "D:/a/xidel/xidel/"
shell: bash
- run: cp D:/a/_temp/lazarus/fpc/3.2.2/bin/x86_64-win64/fpc.cfg.release D:/a/_temp/lazarus/fpc/3.2.2/bin/x86_64-win64/fpc.cfg
- run: lazbuild --add-package internettools/internettools.lpk
- run: bash ./manage.sh win64
# - name: Test Xidel 64
# run: bash ./tests/tests.sh
- name: 'Upload '
uses: actions/upload-artifact@v3
with:
name: xidel.win64
path: xidelpackage/*
- run: find -name "*.o" -or -name "*.ppu" -delete
shell: bash
- run: cp D:/a/_temp/lazarus/fpc/3.2.2/bin/x86_64-win64/fpc.cfg.debug D:/a/_temp/lazarus/fpc/3.2.2/bin/x86_64-win64/fpc.cfg
- run: bash ./manage.sh win64
# - name: Test Xidel 64
# run: bash ./tests/tests.sh
- name: 'Upload '
uses: actions/upload-artifact@v3
with:
name: xidel-debug.win64
path: xidelpackage/*
build-macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- name: Install Lazarus
uses: gcarreno/[email protected]
with:
lazarus-version: stable
- run: . .github/download-dependencies.sh && . .github/setup-fpc-cfg.sh
shell: bash
- run: lazbuild --add-package internettools/internettools.lpk
- run: ./manage.sh preparebuild
- run: cp ~/.fpc.cfg.release ~/.fpc.cfg
- run: lazbuild xidel.lpi
- run: ./manage.sh preparepackage
- name: 'Upload '
uses: actions/upload-artifact@v3
with:
name: xidel.mac
path: xidelpackage/*
- name: 'Debug version'
run: |
cp ~/.fpc.cfg.debug ~/.fpc.cfg
find . -name "*.o" -or -name "*.ppu" -delete
- run: lazbuild xidel.lpi
- run: ./manage.sh preparepackage
- name: 'Upload '
uses: actions/upload-artifact@v3
with:
name: xidel-debug.mac
path: xidelpackage/*