diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3f98e2d43b7..571ad0d21b9 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -5,7 +5,6 @@ on: [push, pull_request] jobs: windows64-build: runs-on: windows-latest - # if: false env: PLATFORM: windows64 OPAMYES: 1 @@ -32,7 +31,6 @@ jobs: Write-Host "::set-env name=NEKOPATH::$NEKOPATH" - name: Install Neko using snapshot from S3 (Unix) - # if: (!startsWith(env.PLATFORM, 'windows')) if: (startsWith(env.PLATFORM, 'linux')) run: | set -ex @@ -40,22 +38,6 @@ jobs: sudo apt-get update -qqy sudo apt-get install -qqy neko - # DOWNLOADDIR="./temp" - # mkdir $DOWNLOADDIR - # curl -sSL https://build.haxe.org/builds/neko/$PLATFORM/neko_latest.tar.gz -o $DOWNLOADDIR/neko_latest.tar.gz - # tar -xf $DOWNLOADDIR/neko_latest.tar.gz -C $DOWNLOADDIR - # NEKOPATH=`echo $DOWNLOADDIR/neko-*-*` - # sudo mkdir -p /usr/local/bin - # sudo mkdir -p /usr/local/lib/neko - # sudo ln -s $NEKOPATH/{neko,nekoc,nekoml,nekotools} /usr/local/bin/ - # sudo ln -s $NEKOPATH/libneko.* /usr/local/lib/ - # sudo ln -s $NEKOPATH/*.ndll /usr/local/lib/neko/ - # sudo ln -s $NEKOPATH/nekoml.std /usr/local/lib/neko/ - # sudo ln -s $NEKOPATH/include/*.h /usr/local/include/ - # set +x - # echo "::add-path::$NEKOPATH" - # echo "::set-env name=NEKOPATH::$NEKOPATH" - - name: Install Neko using snapshot from S3 (Mac) if: (startsWith(env.PLATFORM, 'mac')) run: | @@ -63,12 +45,6 @@ jobs: HOMEBREW_NO_AUTO_UPDATE=1 brew install neko - - name: ldconfig - if: env.PLATFORM == 'linux64' - run: | - sudo ldconfig - sudo ldconfig /usr/local/lib - - name: Print Neko version run: neko -version 2>&1 @@ -127,7 +103,6 @@ jobs: windows-build: runs-on: windows-latest - # if: false env: PLATFORM: windows OPAMYES: 1 @@ -154,7 +129,6 @@ jobs: Write-Host "::set-env name=NEKOPATH::$NEKOPATH" - name: Install Neko using snapshot from S3 (Unix) - # if: (!startsWith(env.PLATFORM, 'windows')) if: (startsWith(env.PLATFORM, 'linux')) run: | set -ex @@ -162,22 +136,6 @@ jobs: sudo apt-get update -qqy sudo apt-get install -qqy neko - # DOWNLOADDIR="./temp" - # mkdir $DOWNLOADDIR - # curl -sSL https://build.haxe.org/builds/neko/$PLATFORM/neko_latest.tar.gz -o $DOWNLOADDIR/neko_latest.tar.gz - # tar -xf $DOWNLOADDIR/neko_latest.tar.gz -C $DOWNLOADDIR - # NEKOPATH=`echo $DOWNLOADDIR/neko-*-*` - # sudo mkdir -p /usr/local/bin - # sudo mkdir -p /usr/local/lib/neko - # sudo ln -s $NEKOPATH/{neko,nekoc,nekoml,nekotools} /usr/local/bin/ - # sudo ln -s $NEKOPATH/libneko.* /usr/local/lib/ - # sudo ln -s $NEKOPATH/*.ndll /usr/local/lib/neko/ - # sudo ln -s $NEKOPATH/nekoml.std /usr/local/lib/neko/ - # sudo ln -s $NEKOPATH/include/*.h /usr/local/include/ - # set +x - # echo "::add-path::$NEKOPATH" - # echo "::set-env name=NEKOPATH::$NEKOPATH" - - name: Install Neko using snapshot from S3 (Mac) if: (startsWith(env.PLATFORM, 'mac')) run: | @@ -185,12 +143,6 @@ jobs: HOMEBREW_NO_AUTO_UPDATE=1 brew install neko - - name: ldconfig - if: env.PLATFORM == 'linux64' - run: | - sudo ldconfig - sudo ldconfig /usr/local/lib - - name: Print Neko version run: neko -version 2>&1 @@ -249,7 +201,6 @@ jobs: linux-build: runs-on: ubuntu-latest - # if: false env: PLATFORM: linux64 OPAMYES: 1 @@ -307,7 +258,6 @@ jobs: mac-build: runs-on: macos-latest - # if: false env: PLATFORM: mac OPAMYES: 1 @@ -329,7 +279,6 @@ jobs: Write-Host "::set-env name=NEKOPATH::$NEKOPATH" - name: Install Neko using snapshot from S3 (Unix) - # if: (!startsWith(env.PLATFORM, 'windows')) if: (startsWith(env.PLATFORM, 'linux')) run: | set -ex @@ -337,22 +286,6 @@ jobs: sudo apt-get update -qqy sudo apt-get install -qqy neko - # DOWNLOADDIR="./temp" - # mkdir $DOWNLOADDIR - # curl -sSL https://build.haxe.org/builds/neko/$PLATFORM/neko_latest.tar.gz -o $DOWNLOADDIR/neko_latest.tar.gz - # tar -xf $DOWNLOADDIR/neko_latest.tar.gz -C $DOWNLOADDIR - # NEKOPATH=`echo $DOWNLOADDIR/neko-*-*` - # sudo mkdir -p /usr/local/bin - # sudo mkdir -p /usr/local/lib/neko - # sudo ln -s $NEKOPATH/{neko,nekoc,nekoml,nekotools} /usr/local/bin/ - # sudo ln -s $NEKOPATH/libneko.* /usr/local/lib/ - # sudo ln -s $NEKOPATH/*.ndll /usr/local/lib/neko/ - # sudo ln -s $NEKOPATH/nekoml.std /usr/local/lib/neko/ - # sudo ln -s $NEKOPATH/include/*.h /usr/local/include/ - # set +x - # echo "::add-path::$NEKOPATH" - # echo "::set-env name=NEKOPATH::$NEKOPATH" - - name: Install Neko using snapshot from S3 (Mac) if: (startsWith(env.PLATFORM, 'mac')) run: | @@ -360,12 +293,6 @@ jobs: HOMEBREW_NO_AUTO_UPDATE=1 brew install neko - - name: ldconfig - if: env.PLATFORM == 'linux64' - run: | - sudo ldconfig - sudo ldconfig /usr/local/lib - - name: Print Neko version run: neko -version 2>&1 @@ -373,7 +300,7 @@ jobs: - name: Install dependencies run: | set -ex - brew update || brew update || brew update + brew update brew unlink python@2 brew bundle --file=tests/Brewfile --no-upgrade @@ -416,8 +343,7 @@ jobs: strategy: fail-fast: false matrix: - # TODO. Lua/flash has never been enabled on our AppVeyor builds. - target: [macro, js, hl, cpp, 'java,jvm', cs, php, python, neko] + target: [macro, js, hl, cpp, 'java,jvm', cs, php, python, lua, neko] steps: - uses: actions/checkout@master with: @@ -439,7 +365,6 @@ jobs: Write-Host "::set-env name=NEKOPATH::$NEKOPATH" - name: Install Neko using snapshot from S3 (Unix) - # if: (!startsWith(env.PLATFORM, 'windows')) if: (startsWith(env.PLATFORM, 'linux')) run: | set -ex @@ -447,22 +372,6 @@ jobs: sudo apt-get update -qqy sudo apt-get install -qqy neko - # DOWNLOADDIR="./temp" - # mkdir $DOWNLOADDIR - # curl -sSL https://build.haxe.org/builds/neko/$PLATFORM/neko_latest.tar.gz -o $DOWNLOADDIR/neko_latest.tar.gz - # tar -xf $DOWNLOADDIR/neko_latest.tar.gz -C $DOWNLOADDIR - # NEKOPATH=`echo $DOWNLOADDIR/neko-*-*` - # sudo mkdir -p /usr/local/bin - # sudo mkdir -p /usr/local/lib/neko - # sudo ln -s $NEKOPATH/{neko,nekoc,nekoml,nekotools} /usr/local/bin/ - # sudo ln -s $NEKOPATH/libneko.* /usr/local/lib/ - # sudo ln -s $NEKOPATH/*.ndll /usr/local/lib/neko/ - # sudo ln -s $NEKOPATH/nekoml.std /usr/local/lib/neko/ - # sudo ln -s $NEKOPATH/include/*.h /usr/local/include/ - # set +x - # echo "::add-path::$NEKOPATH" - # echo "::set-env name=NEKOPATH::$NEKOPATH" - - name: Install Neko using snapshot from S3 (Mac) if: (startsWith(env.PLATFORM, 'mac')) run: | @@ -470,12 +379,6 @@ jobs: HOMEBREW_NO_AUTO_UPDATE=1 brew install neko - - name: ldconfig - if: env.PLATFORM == 'linux64' - run: | - sudo ldconfig - sudo ldconfig /usr/local/lib - - name: Print Neko version run: neko -version 2>&1 @@ -510,6 +413,14 @@ jobs: cmd /c mklink $py3path $pypath python3 -V + - name: Install hererocks + if: matrix.target == 'lua' + shell: cmd + run: | + pip install hererocks + hererocks lua53 -l5.3 -rlatest + call lua53/bin/activate + - name: Setup haxelib shell: pwsh run: | @@ -518,15 +429,13 @@ jobs: - name: Test shell: pwsh - run: | - haxe RunCi.hxml + run: haxe RunCi.hxml working-directory: ${{github.workspace}}/tests windows-test: needs: windows-build runs-on: windows-latest - # if: false env: PLATFORM: windows TEST: ${{matrix.target}} @@ -535,9 +444,8 @@ jobs: strategy: fail-fast: false matrix: - # TODO. Lua/flash has never been enabled on our AppVeyor builds. - # jvm: https://github.com/HaxeFoundation/haxe/issues/8601 - target: [macro, js, hl, cpp, java, cs, php, python, neko] + # TODO jvm: https://github.com/HaxeFoundation/haxe/issues/8601 + target: [macro, js, hl, cpp, java, cs, php, python, lua, neko] steps: - uses: actions/checkout@master with: @@ -559,7 +467,6 @@ jobs: Write-Host "::set-env name=NEKOPATH::$NEKOPATH" - name: Install Neko using snapshot from S3 (Unix) - # if: (!startsWith(env.PLATFORM, 'windows')) if: (startsWith(env.PLATFORM, 'linux')) run: | set -ex @@ -567,22 +474,6 @@ jobs: sudo apt-get update -qqy sudo apt-get install -qqy neko - # DOWNLOADDIR="./temp" - # mkdir $DOWNLOADDIR - # curl -sSL https://build.haxe.org/builds/neko/$PLATFORM/neko_latest.tar.gz -o $DOWNLOADDIR/neko_latest.tar.gz - # tar -xf $DOWNLOADDIR/neko_latest.tar.gz -C $DOWNLOADDIR - # NEKOPATH=`echo $DOWNLOADDIR/neko-*-*` - # sudo mkdir -p /usr/local/bin - # sudo mkdir -p /usr/local/lib/neko - # sudo ln -s $NEKOPATH/{neko,nekoc,nekoml,nekotools} /usr/local/bin/ - # sudo ln -s $NEKOPATH/libneko.* /usr/local/lib/ - # sudo ln -s $NEKOPATH/*.ndll /usr/local/lib/neko/ - # sudo ln -s $NEKOPATH/nekoml.std /usr/local/lib/neko/ - # sudo ln -s $NEKOPATH/include/*.h /usr/local/include/ - # set +x - # echo "::add-path::$NEKOPATH" - # echo "::set-env name=NEKOPATH::$NEKOPATH" - - name: Install Neko using snapshot from S3 (Mac) if: (startsWith(env.PLATFORM, 'mac')) run: | @@ -590,12 +481,6 @@ jobs: HOMEBREW_NO_AUTO_UPDATE=1 brew install neko - - name: ldconfig - if: env.PLATFORM == 'linux64' - run: | - sudo ldconfig - sudo ldconfig /usr/local/lib - - name: Print Neko version run: neko -version 2>&1 @@ -630,6 +515,14 @@ jobs: cmd /c mklink $py3path $pypath python3 -V + - name: Install hererocks + if: matrix.target == 'lua' + shell: cmd + run: | + pip install hererocks + hererocks lua53 -l5.3 -rlatest + call lua53/bin/activate + - name: Setup haxelib shell: pwsh run: | @@ -638,8 +531,7 @@ jobs: - name: Test shell: pwsh - run: | - haxe RunCi.hxml + run: haxe RunCi.hxml working-directory: ${{github.workspace}}/tests @@ -688,7 +580,6 @@ jobs: Write-Host "::set-env name=NEKOPATH::$NEKOPATH" - name: Install Neko using snapshot from S3 (Unix) - # if: (!startsWith(env.PLATFORM, 'windows')) if: (startsWith(env.PLATFORM, 'linux')) run: | set -ex @@ -696,22 +587,6 @@ jobs: sudo apt-get update -qqy sudo apt-get install -qqy neko - # DOWNLOADDIR="./temp" - # mkdir $DOWNLOADDIR - # curl -sSL https://build.haxe.org/builds/neko/$PLATFORM/neko_latest.tar.gz -o $DOWNLOADDIR/neko_latest.tar.gz - # tar -xf $DOWNLOADDIR/neko_latest.tar.gz -C $DOWNLOADDIR - # NEKOPATH=`echo $DOWNLOADDIR/neko-*-*` - # sudo mkdir -p /usr/local/bin - # sudo mkdir -p /usr/local/lib/neko - # sudo ln -s $NEKOPATH/{neko,nekoc,nekoml,nekotools} /usr/local/bin/ - # sudo ln -s $NEKOPATH/libneko.* /usr/local/lib/ - # sudo ln -s $NEKOPATH/*.ndll /usr/local/lib/neko/ - # sudo ln -s $NEKOPATH/nekoml.std /usr/local/lib/neko/ - # sudo ln -s $NEKOPATH/include/*.h /usr/local/include/ - # set +x - # echo "::add-path::$NEKOPATH" - # echo "::set-env name=NEKOPATH::$NEKOPATH" - - name: Install Neko using snapshot from S3 (Mac) if: (startsWith(env.PLATFORM, 'mac')) run: | @@ -719,12 +594,6 @@ jobs: HOMEBREW_NO_AUTO_UPDATE=1 brew install neko - - name: ldconfig - if: env.PLATFORM == 'linux64' - run: | - sudo ldconfig - sudo ldconfig /usr/local/lib - - name: Print Neko version run: neko -version 2>&1 @@ -780,7 +649,6 @@ jobs: mac-test: needs: mac-build runs-on: macos-latest - # if: false env: PLATFORM: mac TEST: ${{matrix.target}} @@ -813,7 +681,6 @@ jobs: Write-Host "::set-env name=NEKOPATH::$NEKOPATH" - name: Install Neko using snapshot from S3 (Unix) - # if: (!startsWith(env.PLATFORM, 'windows')) if: (startsWith(env.PLATFORM, 'linux')) run: | set -ex @@ -821,22 +688,6 @@ jobs: sudo apt-get update -qqy sudo apt-get install -qqy neko - # DOWNLOADDIR="./temp" - # mkdir $DOWNLOADDIR - # curl -sSL https://build.haxe.org/builds/neko/$PLATFORM/neko_latest.tar.gz -o $DOWNLOADDIR/neko_latest.tar.gz - # tar -xf $DOWNLOADDIR/neko_latest.tar.gz -C $DOWNLOADDIR - # NEKOPATH=`echo $DOWNLOADDIR/neko-*-*` - # sudo mkdir -p /usr/local/bin - # sudo mkdir -p /usr/local/lib/neko - # sudo ln -s $NEKOPATH/{neko,nekoc,nekoml,nekotools} /usr/local/bin/ - # sudo ln -s $NEKOPATH/libneko.* /usr/local/lib/ - # sudo ln -s $NEKOPATH/*.ndll /usr/local/lib/neko/ - # sudo ln -s $NEKOPATH/nekoml.std /usr/local/lib/neko/ - # sudo ln -s $NEKOPATH/include/*.h /usr/local/include/ - # set +x - # echo "::add-path::$NEKOPATH" - # echo "::set-env name=NEKOPATH::$NEKOPATH" - - name: Install Neko using snapshot from S3 (Mac) if: (startsWith(env.PLATFORM, 'mac')) run: | @@ -844,12 +695,6 @@ jobs: HOMEBREW_NO_AUTO_UPDATE=1 brew install neko - - name: ldconfig - if: env.PLATFORM == 'linux64' - run: | - sudo ldconfig - sudo ldconfig /usr/local/lib - - name: Print Neko version run: neko -version 2>&1 @@ -882,9 +727,8 @@ jobs: - name: Test run: | - # LC_CTYPE=C - # LANG=C + # disable invalid Unicode filenames on APFS + echo "" > sys/compile-fs.hxml haxe RunCi.hxml working-directory: ${{github.workspace}}/tests - diff --git a/extra/github-actions/Main.hx b/extra/github-actions/Main.hx index 0e4648413cc..35c2d0b5799 100644 --- a/extra/github-actions/Main.hx +++ b/extra/github-actions/Main.hx @@ -10,9 +10,7 @@ class Main { static final matchImport = ~/^([ \t]*)@import (.+)$/gm; static final matchRunnable = ~/^([ \t]*)jobs:/gm; - static function main():Void new Main(); - - function new() { + static function main():Void { final folder = FileSystem.absolutePath("."); final outFolder = "../../.github"; @@ -38,7 +36,7 @@ class Main { }); } - function iterFolderItems(dir:String, func:(dir:String, name:String)->Void):Void { + static function iterFolderItems(dir:String, func:(dir:String, name:String)->Void):Void { for (name in FileSystem.readDirectory(dir)) { if (FileSystem.isDirectory(name)) iterFolderItems('$dir/$name', func); func(dir, name); diff --git a/extra/github-actions/build-mac.yml b/extra/github-actions/build-mac.yml index af28ed75a39..6603af5f552 100644 --- a/extra/github-actions/build-mac.yml +++ b/extra/github-actions/build-mac.yml @@ -1,7 +1,7 @@ - name: Install dependencies run: | set -ex - brew update || brew update || brew update + brew update brew unlink python@2 brew bundle --file=tests/Brewfile --no-upgrade diff --git a/extra/github-actions/install-neko.yml b/extra/github-actions/install-neko.yml index d797db6acb8..36446aaba78 100644 --- a/extra/github-actions/install-neko.yml +++ b/extra/github-actions/install-neko.yml @@ -11,7 +11,6 @@ Write-Host "::set-env name=NEKOPATH::$NEKOPATH" - name: Install Neko using snapshot from S3 (Unix) - # if: (!startsWith(env.PLATFORM, 'windows')) if: (startsWith(env.PLATFORM, 'linux')) run: | set -ex @@ -19,22 +18,6 @@ sudo apt-get update -qqy sudo apt-get install -qqy neko - # DOWNLOADDIR="./temp" - # mkdir $DOWNLOADDIR - # curl -sSL https://build.haxe.org/builds/neko/$PLATFORM/neko_latest.tar.gz -o $DOWNLOADDIR/neko_latest.tar.gz - # tar -xf $DOWNLOADDIR/neko_latest.tar.gz -C $DOWNLOADDIR - # NEKOPATH=`echo $DOWNLOADDIR/neko-*-*` - # sudo mkdir -p /usr/local/bin - # sudo mkdir -p /usr/local/lib/neko - # sudo ln -s $NEKOPATH/{neko,nekoc,nekoml,nekotools} /usr/local/bin/ - # sudo ln -s $NEKOPATH/libneko.* /usr/local/lib/ - # sudo ln -s $NEKOPATH/*.ndll /usr/local/lib/neko/ - # sudo ln -s $NEKOPATH/nekoml.std /usr/local/lib/neko/ - # sudo ln -s $NEKOPATH/include/*.h /usr/local/include/ - # set +x - # echo "::add-path::$NEKOPATH" - # echo "::set-env name=NEKOPATH::$NEKOPATH" - - name: Install Neko using snapshot from S3 (Mac) if: (startsWith(env.PLATFORM, 'mac')) run: | @@ -42,12 +25,6 @@ HOMEBREW_NO_AUTO_UPDATE=1 brew install neko -- name: ldconfig - if: env.PLATFORM == 'linux64' - run: | - sudo ldconfig - sudo ldconfig /usr/local/lib - - name: Print Neko version run: neko -version 2>&1 diff --git a/extra/github-actions/test-mac.yml b/extra/github-actions/test-mac.yml index fccadb6ac1c..19cfce156aa 100644 --- a/extra/github-actions/test-mac.yml +++ b/extra/github-actions/test-mac.yml @@ -26,8 +26,7 @@ - name: Test run: | - # LC_CTYPE=C - # LANG=C + # disable invalid Unicode filenames on APFS + echo "" > sys/compile-fs.hxml haxe RunCi.hxml working-directory: ${{github.workspace}}/tests - diff --git a/extra/github-actions/test-windows.yml b/extra/github-actions/test-windows.yml index 6b3b250055e..2056ab9d744 100644 --- a/extra/github-actions/test-windows.yml +++ b/extra/github-actions/test-windows.yml @@ -28,6 +28,14 @@ cmd /c mklink $py3path $pypath python3 -V +- name: Install hererocks + if: matrix.target == 'lua' + shell: cmd + run: | + pip install hererocks + hererocks lua53 -l5.3 -rlatest + call lua53/bin/activate + - name: Setup haxelib shell: pwsh run: | @@ -36,6 +44,5 @@ - name: Test shell: pwsh - run: | - haxe RunCi.hxml + run: haxe RunCi.hxml working-directory: ${{github.workspace}}/tests diff --git a/extra/github-actions/workflows/main.yml b/extra/github-actions/workflows/main.yml index 45212e11de2..b7604389167 100644 --- a/extra/github-actions/workflows/main.yml +++ b/extra/github-actions/workflows/main.yml @@ -4,7 +4,6 @@ on: [push, pull_request] jobs: windows64-build: runs-on: windows-latest - # if: false env: PLATFORM: windows64 OPAMYES: 1 @@ -23,7 +22,6 @@ jobs: windows-build: runs-on: windows-latest - # if: false env: PLATFORM: windows OPAMYES: 1 @@ -42,7 +40,6 @@ jobs: linux-build: runs-on: ubuntu-latest - # if: false env: PLATFORM: linux64 OPAMYES: 1 @@ -55,7 +52,6 @@ jobs: mac-build: runs-on: macos-latest - # if: false env: PLATFORM: mac OPAMYES: 1 @@ -78,8 +74,7 @@ jobs: strategy: fail-fast: false matrix: - # TODO. Lua/flash has never been enabled on our AppVeyor builds. - target: [macro, js, hl, cpp, 'java,jvm', cs, php, python, neko] + target: [macro, js, hl, cpp, 'java,jvm', cs, php, python, lua, neko] steps: - uses: actions/checkout@master with: @@ -94,7 +89,6 @@ jobs: windows-test: needs: windows-build runs-on: windows-latest - # if: false env: PLATFORM: windows TEST: ${{matrix.target}} @@ -103,9 +97,8 @@ jobs: strategy: fail-fast: false matrix: - # TODO. Lua/flash has never been enabled on our AppVeyor builds. - # jvm: https://github.com/HaxeFoundation/haxe/issues/8601 - target: [macro, js, hl, cpp, java, cs, php, python, neko] + # TODO jvm: https://github.com/HaxeFoundation/haxe/issues/8601 + target: [macro, js, hl, cpp, java, cs, php, python, lua, neko] steps: - uses: actions/checkout@master with: @@ -155,7 +148,6 @@ jobs: mac-test: needs: mac-build runs-on: macos-latest - # if: false env: PLATFORM: mac TEST: ${{matrix.target}} diff --git a/tests/runci/targets/Flash.hx b/tests/runci/targets/Flash.hx index f881ee9c4ec..4031aa34682 100644 --- a/tests/runci/targets/Flash.hx +++ b/tests/runci/targets/Flash.hx @@ -64,7 +64,7 @@ class Flash { File.saveContent(mmcfgPath, "ErrorReportingEnable=1\nTraceOutputFileEnable=1"); } switch (ci) { - case AzurePipelines, GithubActions: + case AzurePipelines | GithubActions: runCommand("xvfb-run", ["-a", playerCmd, "-v"]); case _: runCommand(playerCmd, ["-v"]); @@ -101,7 +101,7 @@ class Flash { switch (systemName) { case "Linux": switch (ci) { - case AzurePipelines, GithubActions: + case AzurePipelines | GithubActions: new Process("xvfb-run", ["-a", playerCmd, swf]); case _: new Process(playerCmd, [swf]);