Skip to content

show if running on x64 or arm on macos #804

show if running on x64 or arm on macos

show if running on x64 or arm on macos #804

Workflow file for this run

name: Nightly
on:
push:
paths-ignore:
- 'README.md'
- 'CHANGELOG.md'
- '.github/workflows/macos_pkg.yml'
pull_request:
paths-ignore:
- 'README.md'
- 'CHANGELOG.md'
- '.github/workflows/macos_pkg.yml'
workflow_dispatch:
inputs:
version:
description: dummy
default: dummy
defaults:
run:
shell: bash
jobs:
update-nightly-tag:
name: Update nightly release tag
runs-on: ubuntu-latest
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- name: Move nightly tag to head for nightly release
run: git tag -f nightly && git push origin nightly -f
build-linux-nightly-artifact:
name: Nightly Artifact Linux Build
runs-on: ubuntu-20.04
needs: [update-nightly-tag]
if: |
always() &&
(needs.update-nightly-tag.result == 'success' ||
needs.update-nightly-tag.result == 'skipped')
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- name: install dependencies
run: |
sudo apt-get update && \
sudo DEBIAN_FRONTEND=noninteractive \
apt-get install -y --no-install-recommends \
ca-certificates \
rpm \
openjdk-17-jdk \
openjdk-17-jdk-headless
- name: show java version
run: type -a java;java -version
- name: set java version
run: sudo update-java-alternatives -s java-1.17.0-openjdk-amd64
- name: show java version
run: type -a java;java -version
- name: build package
run: id;pwd;ls -al;./gradlew -Dorg.gradle.java.home=/usr/lib/jvm/java-17-openjdk-amd64 packageReleaseDistributionForCurrentOS
- name: build jar
run: id;pwd;ls -al;./gradlew -Dorg.gradle.java.home=/usr/lib/jvm/java-17-openjdk-amd64 packageReleaseUberJarForCurrentOS
- name: check jar
run: id;pwd;ls -hal ./build/compose/jars/trifa_material-linux-x64-*.jar
- name: check deb
run: id;pwd;ls -hal ./build/compose/binaries/main*/deb/trifa-material_*-1_amd64.deb
- name: check rpm
run: id;pwd;ls -hal ./build/compose/binaries/main*/rpm/trifa_material-*.x86_64.rpm
- name: Rename artifact for nightly upload
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
run: |
cp -v ./build/compose/binaries/main*/deb/trifa-material_*_amd64.deb trifa-material_nightly.deb
cp -v ./build/compose/binaries/main*/rpm/trifa_material-*.x86_64.rpm trifa-material_nightly.rpm
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: trifa-material_nightly.deb
path: trifa-material_nightly.deb
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: trifa-material_nightly.rpm
path: trifa-material_nightly.rpm
- name: Rename artifact for release upload
if: contains(github.ref, 'refs/tags/v')
run: |
cp -v ./build/compose/binaries/main*/deb/trifa-material_*_amd64.deb trifa-material.deb
cp -v ./build/compose/binaries/main*/rpm/trifa_material-*.x86_64.rpm trifa-material.rpm
- name: Upload to versioned release
if: contains(github.ref, 'refs/tags/v')
uses: ncipollo/release-action@v1
with:
allowUpdates: true
draft: true
token: ${{ secrets.GITHUB_TOKEN }}
artifacts: "trifa-material.deb,trifa-material.rpm"
- name: Upload to nightly release
uses: ncipollo/release-action@v1
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
with:
allowUpdates: true
tag: nightly
omitBodyDuringUpdate: true
omitNameDuringUpdate: true
prerelease: true
replacesArtifacts: true
token: ${{ secrets.GITHUB_TOKEN }}
artifacts: "trifa-material_nightly.deb,trifa-material_nightly.rpm"
build-appimage-nightly-artifact:
name: Nightly Artifact AppImage Build
runs-on: ubuntu-20.04
needs: [update-nightly-tag]
if: |
always() &&
(needs.update-nightly-tag.result == 'success' ||
needs.update-nightly-tag.result == 'skipped')
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- name: install dependencies
run: |
sudo apt-get update && \
sudo DEBIAN_FRONTEND=noninteractive \
apt-get install -y --no-install-recommends \
ca-certificates \
wget \
rpm \
sed \
openjdk-17-jdk \
openjdk-17-jdk-headless
- name: show java version
run: type -a java;java -version
- name: set java version
run: sudo update-java-alternatives -s java-1.17.0-openjdk-amd64
- name: show java version
run: type -a java;java -version
- name: activate appimage package creation
run: |
sed -i -e 's#TargetFormat.Dmg#TargetFormat.AppImage#' build.gradle.kts
- name: build package
run: id;pwd;ls -al;./gradlew -Dorg.gradle.java.home=/usr/lib/jvm/java-17-openjdk-amd64 packageAppImage
- name: make appimage
run: id;pwd;ls -al;./gradlew -Dorg.gradle.java.home=/usr/lib/jvm/java-17-openjdk-amd64 executeAppImageBuilder
- name: check appimage
run: id;pwd;ls -hal ./trifa*material*AppImage
- name: Rename artifact for nightly upload
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
run: |
cp -v ./trifa*material*AppImage trifa-material_nightly-x86_64.appimage
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: trifa-material_nightly-x86_64.appimage
path: trifa-material_nightly-x86_64.appimage
- name: Rename artifact for release upload
if: contains(github.ref, 'refs/tags/v')
run: |
cp -v ./trifa*material*AppImage trifa-material-x86_64.appimage
- name: Upload to versioned release
if: contains(github.ref, 'refs/tags/v')
uses: ncipollo/release-action@v1
with:
allowUpdates: true
draft: true
token: ${{ secrets.GITHUB_TOKEN }}
artifacts: "trifa-material-x86_64.appimage"
- name: Upload to nightly release
uses: ncipollo/release-action@v1
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
with:
allowUpdates: true
tag: nightly
omitBodyDuringUpdate: true
omitNameDuringUpdate: true
prerelease: true
replacesArtifacts: true
token: ${{ secrets.GITHUB_TOKEN }}
artifacts: "trifa-material_nightly-x86_64.appimage"
build-macos-nightly-artifact:
name: Nightly Artifact macOS Build
runs-on: macos-13
needs: [update-nightly-tag]
if: |
always() &&
(needs.update-nightly-tag.result == 'success' ||
needs.update-nightly-tag.result == 'skipped')
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- name: show architecture
run: uname -m
- name: Install Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: |
11
17
- name: test java1
run: |
type java
java -version || exit 0
/usr/libexec/java_home -V
/usr/libexec/java_home -v 17
export JAVA_HOME=$(/usr/libexec/java_home -v17)
java -version
$JAVA_HOME/bin/java -version
$JAVA_HOME/bin/javac -version
ls -al /usr/local/Cellar/openjdk/
- name: build package
run: |
ls -al
id
pwd
./gradlew packageReleaseDistributionForCurrentOS || cat /Users/runner/work/trifa_material/trifa_material/build/compose/logs/createDistributable/codesign-2*txt
- name: Rename artifact for nightly upload
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
run: |
cp -v /Users/runner/work/trifa_material/trifa_material/build/compose/binaries/main*/dmg/trifa_material-*.dmg trifa-material_nightly.dmg
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: trifa-material_nightly.dmg
path: trifa-material_nightly.dmg
- name: Rename artifact for release upload
if: contains(github.ref, 'refs/tags/v')
run: |
cp -v /Users/runner/work/trifa_material/trifa_material/build/compose/binaries/main*/dmg/trifa_material-*.dmg trifa-material.dmg
- name: Upload to versioned release
if: contains(github.ref, 'refs/tags/v')
uses: ncipollo/release-action@v1
with:
allowUpdates: true
draft: true
token: ${{ secrets.GITHUB_TOKEN }}
artifacts: "trifa-material.dmg"
- name: Upload to nightly release
uses: ncipollo/release-action@v1
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
with:
allowUpdates: true
tag: nightly
omitBodyDuringUpdate: true
omitNameDuringUpdate: true
prerelease: true
replacesArtifacts: true
token: ${{ secrets.GITHUB_TOKEN }}
artifacts: "trifa-material_nightly.dmg"
build-windows-nightly-artifact:
name: Nightly Artifact Windows Build
runs-on: windows-latest
needs: update-nightly-tag
if: |
always() &&
(needs.update-nightly-tag.result == 'success' ||
needs.update-nightly-tag.result == 'skipped')
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'temurin' # See 'Supported distributions' for available options
java-version: '17'
- name: test java1
shell: bash
run: |
java -version
- name: build package
shell: bash
run: |
ls -al || echo "_"
id || echo "_"
pwd || echo "_"
./gradlew packageReleaseDistributionForCurrentOS
- name: Rename artifact for nightly upload
run: |
cp -v ./build/compose/binaries/main*/msi/trifa*material*.msi trifa-material_nightly.msi
cp -v ./build/compose/binaries/main*/exe/trifa_material-*.exe trifa-material_nightly.exe
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: trifa-material_nightly.msi
path: trifa-material_nightly.msi
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: trifa-material_nightly.exe
path: trifa-material_nightly.exe
- name: Rename artifact for release upload
if: contains(github.ref, 'refs/tags/v')
run: |
cp -v ./build/compose/binaries/main*/msi/trifa*material*.msi trifa-material.msi
cp -v ./build/compose/binaries/main*/exe/trifa_material-*.exe trifa-material.exe
- name: Upload to versioned release
if: contains(github.ref, 'refs/tags/v')
uses: ncipollo/release-action@v1
with:
allowUpdates: true
draft: true
token: ${{ secrets.GITHUB_TOKEN }}
artifacts: "trifa-material.msi,trifa-material.exe"
- name: Upload to nightly release
uses: ncipollo/release-action@v1
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
with:
allowUpdates: true
tag: nightly
omitBodyDuringUpdate: true
omitNameDuringUpdate: true
prerelease: true
replacesArtifacts: true
token: ${{ secrets.GITHUB_TOKEN }}
artifacts: "trifa-material_nightly.msi,trifa-material_nightly.exe"
build-windows-nightly-zip-artifact:
runs-on: ubuntu-20.04
needs: [build-windows-nightly-artifact]
if: |
always() &&
(needs.build-windows-nightly-artifact.result == 'success')
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: trifa-material_nightly.msi
- name: show artifact
run: ls -al
- name: install dependencies
run: |
sudo apt-get update && \
sudo DEBIAN_FRONTEND=noninteractive \
apt-get install -y --no-install-recommends \
ca-certificates \
wget \
zip \
msitools
- name: show msitools version
run: msiextract --version
- name: show zip version
run: zip --version
- name: extract msi2zip
run: |
id;pwd;ls -al
msiextract trifa-material_nightly.msi
- name: create zip
run: |
id;pwd;ls -al
zip -r trifa-material-windows_nightly.zip trifa_material
id;pwd;ls -al
- name: Rename artifact for release upload
if: contains(github.ref, 'refs/tags/v')
run: |
cp -v trifa-material-windows_nightly.zip trifa-material-windows.zip
- name: Upload to versioned release
if: contains(github.ref, 'refs/tags/v')
uses: ncipollo/release-action@v1
with:
allowUpdates: true
draft: true
token: ${{ secrets.GITHUB_TOKEN }}
artifacts: "trifa-material-windows.zip"
- name: Upload to nightly release
uses: ncipollo/release-action@v1
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
with:
allowUpdates: true
tag: nightly
omitBodyDuringUpdate: true
omitNameDuringUpdate: true
prerelease: true
replacesArtifacts: true
token: ${{ secrets.GITHUB_TOKEN }}
artifacts: "trifa-material-windows_nightly.zip"
macos-test:
runs-on: macos-13
if: ${{ true }}
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- name: install cliclick
run: brew install cliclick
- name: show architecture
run: uname -m
- name: install imagemagick
run: brew install imagemagick
- name: install wget
run: brew install wget
- name: install sendkeys
run: brew install socsieng/tap/sendkeys
- name: macos-version1
run: sw_vers -productVersion
- name: macos-version2
run: system_profiler SPSoftwareDataType
- name: csrutil-status
run: csrutil status || exit 0
- name: notifications_off_01
run: launchctl unload -w /System/Library/LaunchAgents/com.apple.notificationcenterui.plist || exit 0
- name: notifications_off_02
run: killall NotificationCenter || exit 0
- name: download tester
shell: bash
run: |
curl -L https://github.com/zoff99/java_tox_tester/archive/refs/heads/master.zip -o master.zip
unzip master.zip
ls -al java_tox_tester-master/
java -version
javac -version
- name: startup-app
run: |
pwd
ls -al /Users/runner/
_HOME_="/Users/runner/"
/usr/libexec/java_home -v 17
export JAVA_HOME=$(/usr/libexec/java_home -v17)
./gradlew assemble
cliclick -m verbose m:12,34
screencapture -T 1 -x -t png /Users/runner/screen01.png &
screencapture -T 2 -x -t png /Users/runner/screen02.png &
screencapture -T 3 -x -t png /Users/runner/screen03.png &
screencapture -T 10 -x -t png /Users/runner/screen04.png &
screencapture -T 25 -x -t png /Users/runner/screen05.png &
screencapture -T 50 -x -t png /Users/runner/screen06.png &
screencapture -T 60 -x -t png /Users/runner/screen07.png &
screencapture -T 90 -x -t png /Users/runner/screen09.png &
screencapture -T 110 -x -t png /Users/runner/screen10.png &
screencapture -T 238 -x -t png /Users/runner/screenshot-macos.png &
screencapture -T 230 -x -t png /Users/runner/screen12.png &
screencapture -T 300 -x -t png /Users/runner/screen13.png &
pwd
ls -al
./gradlew run > trifa.log 2>&1 &
pwd
sleep 20
cliclick -m verbose c:77,124
sleep 2
cliclick -m verbose c:139,124
sleep 30
cd /Users/runner/work/trifa_material/trifa_material/java_tox_tester-master/
./do_compile.sh
cat /Users/runner/work/trifa_material/trifa_material/trifa.log
./do_run.sh $(cat /Users/runner/work/trifa_material/trifa_material/toxid.txt) >/Users/runner/work/trifa_material/trifa_material/tester.log 2>&1 &
sleep 68
ls -al /Users/runner/work/trifa_material/trifa_material/
cat /Users/runner/work/trifa_material/trifa_material/trifa.log
cliclick -m verbose c:195,347
sleep 1
cliclick -m verbose c:745,645
sleep 1
cliclick -m verbose c:367,641
sleep 1
sendkeys apps
sendkeys -a "TRIfA" -c ":smile"
sleep 90
sleep 120
cat /Users/runner/work/trifa_material/trifa_material/tester.log
pwd
ls -al /Users/runner/
cp -v /Users/runner/screenshot-macos.png /Users/runner/work/trifa_material/trifa_material/screenshot-macos.png
- name: tweak screenshot
run: |
cd /Users/runner/work/trifa_material/trifa_material/
pwd
cp -v screenshot-macos.png /Users/runner/screenshot-macos_orig.png
convert screenshot-macos.png -crop 1176x885+0+0 +repage crop_br.png
convert screenshot-macos.png -crop 1919x25+1663+0 crop_br2.png
convert screenshot-macos.png -crop 1506x88+207+993 crop_br3.png
convert crop_br3.png -resize 65% crop_br3small.png
composite -compose Copy -gravity South crop_br3small.png crop_br.png -alpha set dst.png
composite -compose Copy -gravity Northeast crop_br2.png dst.png -alpha set dst2.png
cp -v dst2.png screenshot-macos.png
- name: upload-screenshots
uses: actions/upload-artifact@v4
with:
name: screenshot-macos
path: |
/Users/runner/screen*.png
- name: Upload to nightly release
uses: ncipollo/release-action@v1
if: github.ref == 'refs/heads/master'
with:
allowUpdates: true
tag: nightly
omitBodyDuringUpdate: true
omitNameDuringUpdate: true
prerelease: true
replacesArtifacts: true
token: ${{ secrets.GITHUB_TOKEN }}
artifacts: "screenshot-macos.png"
macos-14-test:
runs-on: macos-14
if: ${{ true }}
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- name: install cliclick
run: brew install cliclick
- name: show architecture
run: uname -m
- name: install imagemagick
run: brew install imagemagick
- name: install wget
run: brew install wget
- name: install sendkeys
run: brew install socsieng/tap/sendkeys
- name: macos-version1
run: sw_vers -productVersion
- name: macos-version2
run: system_profiler SPSoftwareDataType
- name: csrutil-status
run: csrutil status || exit 0
- name: notifications_off_01
run: launchctl unload -w /System/Library/LaunchAgents/com.apple.notificationcenterui.plist || exit 0
- name: notifications_off_02
run: killall NotificationCenter || exit 0
- name: download tester
shell: bash
run: |
curl -L https://github.com/zoff99/java_tox_tester/archive/refs/heads/master.zip -o master.zip
unzip master.zip
ls -al java_tox_tester-master/
java -version
javac -version
- name: startup-app
run: |
pwd
ls -al /Users/runner/
_HOME_="/Users/runner/"
/usr/libexec/java_home -v 17
export JAVA_HOME=$(/usr/libexec/java_home -v17)
./gradlew assemble
cliclick -m verbose m:12,34
screencapture -T 1 -x -t png /Users/runner/screen01.png &
screencapture -T 2 -x -t png /Users/runner/screen02.png &
screencapture -T 3 -x -t png /Users/runner/screen03.png &
screencapture -T 10 -x -t png /Users/runner/screen04.png &
screencapture -T 25 -x -t png /Users/runner/screen05.png &
screencapture -T 50 -x -t png /Users/runner/screen06.png &
screencapture -T 60 -x -t png /Users/runner/screen07.png &
screencapture -T 90 -x -t png /Users/runner/screen09.png &
screencapture -T 110 -x -t png /Users/runner/screen10.png &
screencapture -T 238 -x -t png /Users/runner/screenshot-macos-14.png &
screencapture -T 230 -x -t png /Users/runner/screen12.png &
screencapture -T 300 -x -t png /Users/runner/screen13.png &
pwd
ls -al
./gradlew run > trifa.log 2>&1 &
pwd
sleep 20
cliclick -m verbose c:77,124
sleep 2
cliclick -m verbose c:139,124
sleep 20
cd /Users/runner/work/trifa_material/trifa_material/java_tox_tester-master/
./do_compile.sh
cat /Users/runner/work/trifa_material/trifa_material/trifa.log
./do_run.sh $(cat /Users/runner/work/trifa_material/trifa_material/toxid.txt) >/Users/runner/work/trifa_material/trifa_material/tester.log 2>&1 &
sleep 68
ls -al /Users/runner/work/trifa_material/trifa_material/
cat /Users/runner/work/trifa_material/trifa_material/trifa.log
cliclick -m verbose c:195,347
sleep 1
cliclick -m verbose c:745,645
sleep 1
cliclick -m verbose c:367,641
sleep 1
sendkeys apps
sendkeys -a "TRIfA" -c ":smile"
sleep 90
sleep 120
cat /Users/runner/work/trifa_material/trifa_material/tester.log
pwd
ls -al /Users/runner/
cp -v /Users/runner/screenshot-macos-14.png /Users/runner/work/trifa_material/trifa_material/screenshot-macos-14.png
- name: tweak screenshot
run: |
cd /Users/runner/work/trifa_material/trifa_material/
pwd
cp -v screenshot-macos-14.png /Users/runner/screenshot-macos-14_orig.png
convert screenshot-macos-14.png -crop 1176x885+0+0 +repage crop_br.png
convert screenshot-macos-14.png -crop 1919x25+1663+0 crop_br2.png
convert screenshot-macos-14.png -crop 1506x88+207+993 crop_br3.png
convert crop_br3.png -resize 65% crop_br3small.png
composite -compose Copy -gravity South crop_br3small.png crop_br.png -alpha set dst.png
composite -compose Copy -gravity Northeast crop_br2.png dst.png -alpha set dst2.png
cp -v dst2.png screenshot-macos-14.png
- name: upload-screenshots
uses: actions/upload-artifact@v4
with:
name: screenshot-macos-14
path: |
/Users/runner/screen*.png
- name: Upload to nightly release
uses: ncipollo/release-action@v1
if: github.ref == 'refs/heads/master'
with:
allowUpdates: true
tag: nightly
omitBodyDuringUpdate: true
omitNameDuringUpdate: true
prerelease: true
replacesArtifacts: true
token: ${{ secrets.GITHUB_TOKEN }}
artifacts: "screenshot-macos-14.png"
linux-ub20-test:
runs-on: ubuntu-20.04
if: ${{ true }}
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- name: os version
run: uname -a
# This is necessary because GitHub Actions does not support IPv6 yet
# And if a user has `ipv6: true` set in their yaml config, it wouldn't work otherwise
# <https://github.com/actions/runner-images/issues/668#issuecomment-1872487355>
- name: show ip
run: |
ip addr
- name: Set up WARP
uses: fscarmen/[email protected]
with:
stack: ipv6 # Optional. Support [ ipv4, ipv6, dual ]. Default is dual.
- name: ipv6
run: |
curl -m 9 --ipv6 --verbose https://google.com
curl -m 9 -6 https://ifconfig.co
- name: show ip
run: |
ip addr
- name: install deps
run: |
sudo apt-get update
sudo apt-get install openjdk-17-jdk-headless openjdk-17-jdk
sudo apt-get install imagemagick
sudo apt-get install libv4l-0 libv4l-dev
sudo apt-get install xdotool xclip
sudo apt-get install x11-apps x11-utils
sudo apt-get install lwm fvwm
sudo apt-get install xvfb
- name: show installed font packages
run: |
dpkg -l|grep font
- name: install fonts
run: |
sudo apt-get install xfonts-utils xfonts-scalable xfonts-encodings xfonts-base xfonts-75dpi xfonts-100dpi
sudo apt-get install fonts-noto-color-emoji
sudo apt-get install fonts-dejavu fonts-dejavu-core fonts-freefont-ttf
sudo apt-get install xfonts-wqy \
xfonts-efont-unicode xfonts-efont-unicode-ib xfonts-intl-chinese xfonts-intl-chinese-big \
xfonts-intl-asian xfonts-intl-arabic xfonts-intl-european xfonts-unifont \
fonts-dejavu-core \
fonts-dejavu-extra \
fonts-droid-fallback \
fonts-guru \
fonts-guru-extra \
fonts-horai-umefont \
fonts-kacst \
fonts-kacst-one \
fonts-khmeros-core \
fonts-lao \
fonts-liberation \
fonts-lklug-sinhala \
fonts-lohit-guru \
fonts-nanum \
fonts-noto-cjk \
fonts-opensymbol \
fonts-roboto \
fonts-roboto-hinted \
fonts-sil-abyssinica \
fonts-sil-padauk \
fonts-stix \
fonts-symbola \
fonts-takao-pgothic \
fonts-thai-tlwg \
fonts-tibetan-machine \
fonts-tlwg-garuda \
fonts-tlwg-kinnari \
fonts-tlwg-laksaman \
fonts-tlwg-loma \
fonts-tlwg-mono \
fonts-tlwg-norasi \
fonts-tlwg-purisa \
fonts-tlwg-sawasdee \
fonts-tlwg-typewriter \
fonts-tlwg-typist \
fonts-tlwg-typo \
fonts-tlwg-umpush \
fonts-tlwg-waree \
fonts-unfonts-core
# use the ipv6-boot-only version of the tox tester
- name: download tester
shell: bash
run: |
curl -L https://github.com/zoff99/java_tox_tester/archive/refs/heads/ipv6only.zip -o master.zip
unzip master.zip
ls -al java_tox_tester-ipv6only/
java -version
javac -version
- name: create runscript
run: |
printf '#!/bin/bash\n' > /tmp/a.sh
printf 'xclock -digital -geometry 300x45+100+688 &\n' >> /tmp/a.sh
printf 'export LC_ALL=zh_CN.utf8\n' >> /tmp/a.sh
printf '/home/runner/work/trifa_material/trifa_material/gradlew -Dorg.gradle.java.home=/usr/lib/jvm/java-17-openjdk-amd64/ run &\n' >> /tmp/a.sh
printf 'sleep 20\n' >> /tmp/a.sh
printf 'xwininfo -id $(xdotool getactivewindow)\n' >> /tmp/a.sh
printf 'xdotool mousemove --sync 80 74 click 1\n' >> /tmp/a.sh
printf 'sleep 2\n' >> /tmp/a.sh
printf 'sleep 20\n' >> /tmp/a.sh
printf 'xdotool mousemove --sync 140 74 click 1\n' >> /tmp/a.sh
printf 'pwd\n' >> /tmp/a.sh
printf 'sleep 5\n' >> /tmp/a.sh
printf 'sleep 60\n' >> /tmp/a.sh
printf 'ls -ratl\n' >> /tmp/a.sh
printf 'cat /home/runner/work/trifa_material/trifa_material/toxid.txt;echo\n' >> /tmp/a.sh
printf 'cd /home/runner/work/trifa_material/trifa_material/java_tox_tester-ipv6only/\n' >> /tmp/a.sh
printf './do_run.sh $(cat /home/runner/work/trifa_material/trifa_material/toxid.txt) >/home/runner/work/trifa_material/trifa_material/tester.log 2>&1 &\n' >> /tmp/a.sh
printf 'sleep 220\n' >> /tmp/a.sh
printf 'xdotool mousemove --sync 214 295 click 1\n' >> /tmp/a.sh
printf 'sleep 4\n' >> /tmp/a.sh
printf 'xdotool mousemove --sync 750 620 click 1\n' >> /tmp/a.sh
printf 'sleep 2\n' >> /tmp/a.sh
printf 'import -window root /tmp/screenshot-linux_before_wm.png\n' >> /tmp/a.sh
printf 'sleep 40\n' >> /tmp/a.sh
printf 'fvwm2 &' >> /tmp/a.sh
printf 'sleep 20\n' >> /tmp/a.sh
printf 'import -window root /tmp/screenshot-linux.png\n' >> /tmp/a.sh
cat /tmp/a.sh
chmod a+rx /tmp/a.sh
- name: patch-app1
run: |
pwd
ls -al
sed -i -e 's#PREF__udp_enabled = udp_mode_int#PREF__udp_enabled = 0#' src/main/kotlin/com/zoffcc/applications/trifa/MainActivity.kt
git diff||echo "NO ERR"
- name: patch-app2
run: |
pwd
ls -al
sed -i -e 's#PREF__local_discovery_enabled = local_discovery_int#PREF__local_discovery_enabled = 0#' src/main/kotlin/com/zoffcc/applications/trifa/MainActivity.kt
git diff||echo "NO ERR"
- name: patch-app3
run: |
pwd
ls -al
tools/patch_src_disable_ipv4_boots.sh
git diff||echo "NO ERR"
- name: generate locale
run: |
cat /etc/locale.gen
cat /etc/locale.gen|grep -i zn||echo "NO ERR"
echo "zh_CN.UTF-8 UTF-8" |sudo tee -a /etc/locale.gen
sudo locale-gen
- name: generate locale
run: |
sudo localectl set-locale LANG="zh_CN.UTF-8"
export LANG="zh_CN.UTF-8"
sudo update-locale
locale -a
locale
locale -c -k LC_NUMERIC
sudo update-locale LANG="zh_CN.UTF-8"
localectl status
- name: startup-app
run: |
pwd
ls -al
export LC_ALL=zh_CN.utf8
./gradlew -Dorg.gradle.java.home=/usr/lib/jvm/java-17-openjdk-amd64/ assemble
xvfb-run --server-args="-screen 0 1024x768x24" --auto-servernum /tmp/a.sh
echo "++++++++++++++++++"
echo "++++++++++++++++++"
cat /home/runner/work/trifa_material/trifa_material/trifa.log||echo "NO ERR"
echo "++++++++++++++++++"
echo "++++++++++++++++++"
cat /home/runner/work/trifa_material/trifa_material/tester.log||echo "NO ERR"
cp -av /tmp/screenshot-linux.png screenshot-linux.png
- name: upload-screenshots
uses: actions/upload-artifact@v4
with:
name: screenshot-linux
path: /tmp/screenshot-linux.png
- name: upload-screenshots
uses: actions/upload-artifact@v4
with:
name: screenshot-linux_before_wm
path: /tmp/screenshot-linux_before_wm.png
- name: Upload to nightly release
uses: ncipollo/release-action@v1
if: github.ref == 'refs/heads/master'
with:
allowUpdates: true
tag: nightly
omitBodyDuringUpdate: true
omitNameDuringUpdate: true
prerelease: true
replacesArtifacts: true
token: ${{ secrets.GITHUB_TOKEN }}
artifacts: "screenshot-linux.png"
windows-test:
runs-on: windows-latest
if: ${{ true }}
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- name: Display the path
run: echo %PATH%
shell: cmd
- uses: actions/setup-java@v4
with:
distribution: 'temurin' # See 'Supported distributions' for available options
java-version: '17'
- name: java-version
run: java -version
shell: bash
- name: download tester
shell: bash
run: |
curl -L https://github.com/zoff99/java_tox_tester/archive/refs/heads/master.zip -o master.zip
unzip master.zip
ls -al java_tox_tester-master/
java -version
javac -version
- name: compile-app
shell: bash
run: |
./gradlew.bat assemble
- name: startup-app
shell: pwsh
run: |
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
Start-Sleep -Seconds 30
Start-Process -FilePath 'C:\Windows\System32\cmd.exe' -WorkingDirectory "D:\a\trifa_material\trifa_material" -ArgumentList '/c', 'D:\a\trifa_material\trifa_material\gradlew.bat', "run" -windowstyle Maximized
Start-Sleep -Seconds 20
Start-Sleep -Seconds 8
$signature=@'
[DllImport("user32.dll",CharSet=CharSet.Auto,CallingConvention=CallingConvention.StdCall)]
public static extern void mouse_event(long dwFlags, long dx, long dy, long cButtons, long dwExtraInfo);
'@
$SendMouseClick = Add-Type -memberDefinition $signature -name "Win32MouseEventNew" -namespace Win32Functions -passThru
$x = 84
$y = 104
[System.Windows.Forms.Cursor]::Position = New-Object System.Drawing.Point($x, $y)
sleep -Seconds 02
$SendMouseClick::mouse_event(0x00000002, 0, 0, 0, 0);
$SendMouseClick::mouse_event(0x00000004, 0, 0, 0, 0);
sleep -Seconds 02
$x = 146
$y = 104
[System.Windows.Forms.Cursor]::Position = New-Object System.Drawing.Point($x, $y)
$SendMouseClick::mouse_event(0x00000002, 0, 0, 0, 0);
$SendMouseClick::mouse_event(0x00000004, 0, 0, 0, 0);
Start-Sleep -Seconds 2
- name: start tester
shell: bash
run: |
cat toxid.txt;echo
cd java_tox_tester-master
bash -x ./do_compile.sh
./do_run.sh $(cat ../toxid.txt) &
sleep 180
- name: startup-app
shell: pwsh
run: |
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
$signature=@'
[DllImport("user32.dll",CharSet=CharSet.Auto,CallingConvention=CallingConvention.StdCall)]
public static extern void mouse_event(long dwFlags, long dx, long dy, long cButtons, long dwExtraInfo);
'@
$SendMouseClick = Add-Type -memberDefinition $signature -name "Win32MouseEventNew" -namespace Win32Functions -passThru
$x = 215
$y = 325
[System.Windows.Forms.Cursor]::Position = New-Object System.Drawing.Point($x, $y)
sleep -Seconds 02
$SendMouseClick::mouse_event(0x00000002, 0, 0, 0, 0);
$SendMouseClick::mouse_event(0x00000004, 0, 0, 0, 0);
sleep -Seconds 02
$x = 735
$y = 613
[System.Windows.Forms.Cursor]::Position = New-Object System.Drawing.Point($x, $y)
sleep -Seconds 02
$SendMouseClick::mouse_event(0x00000002, 0, 0, 0, 0);
$SendMouseClick::mouse_event(0x00000004, 0, 0, 0, 0);
sleep -Seconds 02
- name: capture-screen
shell: pwsh
run: |
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing
$Screen = [System.Windows.Forms.SystemInformation]::VirtualScreen
$Width = $Screen.Width
$Height = $Screen.Height
$Left = $Screen.Left
$Top = $Screen.Top
$bitmap = New-Object System.Drawing.Bitmap $Width, $Height
$graphic = [System.Drawing.Graphics]::FromImage($bitmap)
$graphic.CopyFromScreen($Left, $Top, 0, 0, $bitmap.Size)
$bitmap.Save("D:\a\trifa_material\trifa_material\screenshot-windows.png")
Write-Output "Screenshot saved to:"
Write-Output D:\a\trifa_material\trifa_material\screenshot-windows.png
- name: upload-screenshots
uses: actions/upload-artifact@v4
with:
name: screenshot-windows
path: |
D:\a\trifa_material\trifa_material\screenshot-windows.png
- name: Upload to nightly release
uses: ncipollo/release-action@v1
if: github.ref == 'refs/heads/master'
with:
allowUpdates: true
tag: nightly
omitBodyDuringUpdate: true
omitNameDuringUpdate: true
prerelease: true
replacesArtifacts: true
token: ${{ secrets.GITHUB_TOKEN }}
artifacts: "screenshot-windows.png"