jobs:
build-generic:
- name: "Build for Linux/Windows/DOS"
+ name: "Build for DOS"
runs-on: ubuntu-latest
id-token: write
steps:
- - name: Give tar root suid
- run: sudo chown root /usr/bin/tar && sudo chmod u+s /usr/bin/tar
- name: Checkout
uses: actions/checkout@v4
- - name: Restore cache
- uses: actions/cache@v4
- with:
- save-always: true
- path: |
- /var/cache/apt
- /usr/watcom
- key: cache-${{ github.sha }}
- restore-keys: cache-
- name: Install packages
run: sudo apt-get install zip byacc flex doxygen mingw-w64 graphviz
- name: Create /usr/watcom
run: echo "WATCOM=/usr/watcom" >> $GITHUB_ENV
- name: Add INCLUDE env
run: echo "INCLUDE=/usr/watcom/h" >> $GITHUB_ENV
- - name: Make sure it is clean (linux64)
- run: make clean
- - name: Make for linux64
- run: make YACC=byacc -j3 archive
- - name: Setup Pages
- uses: actions/configure-pages@v4
- - name: Upload pages
- uses: actions/upload-pages-artifact@v3
- with:
- path: "Document/doc/html"
- - name: Deploy
- uses: actions/deploy-pages@v4
- - name: Rename to -linux64
- run: mv dataworks.zip dataworks-linux64.zip && mv dataworks.tar.gz dataworks-linux64.tar.gz && mv Client/dataworks dataworks-linux64 && mv Server/dataworks_server dataworks-server-linux64
- - name: Make sure it is clean (win32)
- run: make clean PLATFORM=win32
- - name: Make for win32
- run: make YACC=byacc PLATFORM=win32 -j3 archive
- - name: Rename to -win32
- run: mv dataworks.zip dataworks-win32.zip && mv dataworks.tar.gz dataworks-win32.tar.gz && mv Client/dataworks.exe dataworks-win32.exe && mv Server/dataworks_server.exe dataworks-server-win32.exe
- - name: Make sure it is clean (win64)
- run: make clean PLATFORM=win64
- - name: Make for win64
- run: make YACC=byacc PLATFORM=win64 -j3 archive
- - name: Rename to -win64
- run: mv dataworks.zip dataworks-win64.zip && mv dataworks.tar.gz dataworks-win64.tar.gz && mv Client/dataworks.exe dataworks-win64.exe && mv Server/dataworks_server.exe dataworks-server-win64.exe
- - name: Make sure it is clean (dos)
+ - name: Make sure it is clean
run: make clean PLATFORM=dos
- name: Make for DOS
run: make YACC=byacc PLATFORM=dos -j3 archive
- name: Rename to -dos
- run: mv dataworks.zip dataworks-dos.zip && mv dataworks.tar.gz dataworks-dos.tar.gz && mv Client/dataworks.exe dataworks-dos.exe && mv Server/dataworks_server.exe dataworks-server-dos.exe
- - name: Make sure it is clean (dos4g)
- run: make clean PLATFORM=dos4g
- - name: Make for DOS/4GW
- run: make YACC=byacc PLATFORM=dos4g -j3 archive
- - name: Rename to -dos4g
- run: mv dataworks.zip dataworks-dos4g.zip && mv dataworks.tar.gz dataworks-dos4g.tar.gz && mv Client/dataworks.exe dataworks-dos4g.exe && mv Server/dataworks_server.exe dataworks-server-dos4g.exe
+ run: mv dataworks.zip dataworks-dos.zip && mv dataworks.tar.gz dataworks-dos.tar.gz && mv Client/dataworks.exe dataworks-dos.exe && mv Server/dataworks_server.exe dataworks-server-dos.exe && mv RemoteClient/dataworks_remote_client dataworks-remote-client-dos.exe
- name: Create artifact
- run: zip -rv build-generic.zip dataworks-*.tar.gz dataworks-*.zip dataworks-server-win32.exe dataworks-server-win64.exe dataworks-server-dos.exe dataworks-server-dos4g.exe dataworks-win32.exe dataworks-win64.exe dataworks-dos.exe dataworks-dos4g.exe dataworks-linux64 dataworks-server-linux64
+ run: zip -rv build-dos.zip dataworks-dos.tar.gz dataworks-dos.zip dataworks-server-dos.exe dataworks-dos.exe dataworks-remote-client-dos.exe
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
- name: build-generic
- path: build-generic.zip
- - name: Kill apt-get
- run: sudo killall apt-get || true
+ name: build-dos
+ path: build-dos.zip
+
build-mac:
name: "Build for MacOS"
permissions:
contents: write
- needs: [build-generic, build-mac, build-debpkg, build-dosimg, test]
+ needs: [build-dos, build-mac, build-debpkg, build-dosimg, test]
steps:
- name: Checkout
uses: actions/checkout@v4
- - name: Download from build-generic
+ - name: Download from build-dos
uses: actions/download-artifact@v4
with:
- name: build-generic
+ name: build-dos
- name: Download from build-macos
uses: actions/download-artifact@v4
with:
uses: actions/download-artifact@v4
with:
name: build-dosimg1440
- - name: Extract the build-generic
- run: unzip $GITHUB_WORKSPACE/build-generic.zip
+ - name: Extract the build-dos
+ run: unzip $GITHUB_WORKSPACE/build-dos.zip
- name: Extract the build-macos
run: unzip $GITHUB_WORKSPACE/build-macos.zip
- name: Rename dataworks.deb
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Release
- run: gh release create -t "v$(make get-version)" "$(make get-version)" dataworks-linux64.{tar.gz,zip} dataworks-win32.{tar.gz,zip} dataworks-dos4g.{tar.gz,zip} dataworks-dos.{tar.gz,zip} dataworks-win64.{tar.gz,zip} dataworks-macos-arm64.{tar.gz,zip} dataworks-server-win32.exe dataworks-server-win64.exe dataworks-server-dos.exe dataworks-server-dos4g.exe dataworks-win32.exe dataworks-win64.exe dataworks-dos.exe dataworks-dos4g.exe dataworks-linux64 dataworks-server-linux64 dataworks-macos-arm64 dataworks-server-macos-arm64 install1200.img install1440.img dataworks-amd64-ubuntu.deb -n "Version \`$(make get-version)\` was built in this release"
+ run: gh release create -t "v$(make get-version)" "$(make get-version)" dataworks-dos.{tar.gz,zip} dataworks-macos-arm64.{tar.gz,zip} dataworks-macos-arm64 dataworks-server-macos-arm64 install1200.img install1440.img dataworks-amd64-ubuntu.deb -n "Version \`$(make get-version)\` was built in this release"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}