Commit Graph

214 Commits

Author SHA1 Message Date
David Wendt 79ebcc6dd3 web: Add a crate for a stub binary that builds a Safari Web Extension 2022-04-12 22:14:22 -07:00
David Wendt 9b083d8be4 build: Subpackages need `--deep` codesigning 2022-04-12 22:14:22 -07:00
David Wendt 58ce66e1a3 web: Package the extension as a Safari Web Extension in the desktop build. 2022-04-12 22:14:22 -07:00
Mike Welsh 99d8a5bff3 ci: Run clippy with all features 2022-04-11 20:15:13 -07:00
relrelb eeb5eb18f6 web: Bump wasm-bindgen to 0.2.80
As usual, also bump its helper crates (`js-sys`, `web-sys` and
`wasm-bindgen-futures`) to the latest versions.
2022-04-08 09:56:23 -07:00
David Wendt 6669b93c9b build: macOS release builds should include the `sandbox` feature. 2022-03-30 11:37:25 -07:00
David Wendt 0a0af0adcf build: Specify minimum macOS versions 2022-03-28 22:37:25 -06:00
David Wendt 17686928bd build: Submit all builds to Apple Notary Service 2022-03-28 22:37:25 -06:00
David Wendt c7fec69dc7 chore: Forgot a `-` in the codesigning instructions 2022-03-28 18:50:33 -06:00
David Wendt da6c51ee7a build: Enable Hardened Runtime on macOS nightlies. 2022-03-28 16:30:58 -06:00
David Wendt c877bfe886 build: Add a workflow for signing the app bundle with a set of entitlements 2022-03-28 16:30:58 -06:00
David Wendt cc3d4f7638 build: Since our app package now works, clean up the bare executable. 2022-03-28 16:30:58 -06:00
David Wendt 1c308551ae chore: App bundle also needs a Resources directory. 2022-03-18 15:55:11 -06:00
David Wendt f7af4af818 Since we are building an app bundle now, the macOS packager needs to clone the repo, too 2022-03-17 19:48:17 -06:00
David Wendt 4e0253ebf0 Package the nightly builds as a MacOS app bundle. 2022-03-17 17:15:14 -06:00
Daniel Jacobs 31446785f9 ci: Use windows-latest again 2022-03-03 16:55:13 -07:00
Chris Midgley b2af0667fb build: add libgtk-3-dev 2022-02-23 22:45:26 +02:00
relrelb 2ca62ecf4b web: Remove tests on Node.js 14
There seems to be no good reason for testing on Node.js other than
the current LTS. Moreover, npm@6 has a wontfix issue when upgrading
to 8.4 on Windows, which requires a complex workaround: https://github.com/npm/cli/issues/4341#issuecomment-1040608101.

So avoid it by simply not supporting it.
2022-02-18 17:01:09 +02:00
relrelb 4037707ce5 ci: Migrate to Windows Server 2022
Per https://github.com/actions/virtual-environments/issues/4856,
`windows-latest` will default to `windows-2022` soon (not later than
March, 6). Since it seems like we still run on `windows-2019`, force the
migration by specifying `windows-2022` explicitly.

Since https://github.com/actions/virtual-environments/pull/5050 is
merged, this should fix the failing Web tests on mismatched Chrome and
chromedriver versions.

TODO: Once `windows-latest` defaults to `windows-2022` (again, March, 6),
change back to `windows-latest`.
2022-02-16 22:11:35 -07:00
relrelb d7177b474d ci: Temporarily avoid npm 8.4
Upgrading to npm 8.4 on Windows is currently broken: https://github.com/npm/cli/issues/4341
This was avoided by disabling tests on Windows Node 14 in #6167.
Re-enable them by staying on npm 8.3 instead.
2022-02-05 14:50:47 +02:00
Mike Welsh b7ebe0bbec ci: Temporarily disable Windows Node 14 test
Test is currently broken because of this issue:
https://github.com/actions/setup-node/issues/411
2022-01-29 15:29:49 -08:00
relrelb 1fd1a1e68e ci: Use `runner.os` over `matrix.os`
`runner.os` is a little more descriptive. But unfortunately, it cannot
be used in `job.name`.
2022-01-29 14:19:51 -08:00
relrelb 2132f3c9cd ci: Skip `publish-aur-package` job on forks
Move the `if` condition that tests for the Ruffle official repository
to the job-level, so all steps of that job are skipped, rather than
only the publish step itself. This should have a very little effect,
but I just randomly noticed it.
2022-01-24 12:30:03 -08:00
Mike Welsh cad76ad4fa ci: Fix publishing of Firefox extension
Supply FIREFOX_EXTENSION_ID var to the web build step to ensure
this gets correctly populated in the manifest.json.
2022-01-22 18:38:18 -08:00
Mike Welsh 95ddc06e71 ci: Use macos-11 runner 2022-01-21 18:21:33 -08:00
Mike Welsh 6bffef2550 ci: Publish Chrome and Firefox extensions nightly 2022-01-21 16:19:49 -08:00
relrelb eb52cbd770 ci: Publish npm package before packaging selfhosted
Otherwise `release.zip` is included in the package files.
2022-01-15 11:15:47 -08:00
Mike Welsh 31443cc9e7 chore: Publish npm package publicly 2022-01-14 16:01:23 -08:00
relrelb 38549fdbdf web: Publish NPM package
Publish nightly releases as part of the CI, so Ruffle can be easily
integrated into a website using a CDN (such as jsDelivr). It would
also be easier for websites to keep up-to-date, as NPM auto-updates
the `latest` tag to refer to the latest release.

A dedicated `package.json` is used for the published NPM package,
because `ruffle-selfhosted` depends on the private `ruffle-core`
package, which shouldn't be published.

Also, the `version` field must monotonically increase. So Webpack
auto-fills it to be `0.1.0-nightly.YYYY.MM.DD`. This format satisfies
a couple of needs:
* Newer nightly releases should take precedence over older ones.
* Stable releases (e.g. `1.0.0`) should take precedence over nightly
ones.
2022-01-12 21:24:19 -08:00
TÖRÖK Attila 44e59a0012 web,ci: Only build the vanilla module by default, use it as stand-in for the other
And enable the module that really uses WebAssembly extensions for the
releases by running the new "npm run build:dual-wasm" command, which
sets the ENABLE_WASM_EXTENSIONS=true environment variable.
2022-01-12 11:29:16 -08:00
relrelb c4d013c884 ci: Cache npm dependencies
This should improve CI build times.

Done as described in:
https://github.com/actions/setup-node#caching-packages-dependencies
2022-01-12 10:30:51 -08:00
relrelb 7f4f40621b web: Migrate to npm workspaces
`lerna` is a bit stale, and as such it currently has some outdated
dependencies which Dependabot warns on.
Fortunately, npm 7 supports monorepos natively, via "workspaces". So
simply replace `lerna` with this feature. The migration is pretty
neat and requires a very little invervention.

Because Node.js 14 comes with npm 6 by default, upgrade it manually
as shown in https://github.com/bahmutov/npm-install/issues/103#issuecomment-931226602.
2022-01-11 13:17:48 -08:00
Mike Welsh 3010c505aa chore: Add error-report issue template
The `error-report` label was not being added to error reports
submitted by panics in the web player, despite the `labels` query
parameter in the URL. Users do not have triage/write access to the
repo, which is required by GitHub to add a label to an issue.

Add an issue template for error reports with the `error-report`
label. This template is now added to the issue URL, which
automatically adds the tag regardless of access level.
2022-01-02 13:59:54 -08:00
Chris Midgley 755e5456da chore: use node 16 in nightly release as well 2021-10-26 13:21:55 -07:00
Chris Midgley 781edd0feb web: preferentially use node 16 to compile 2021-10-26 13:21:55 -07:00
Mike Welsh d58ecf0bcf ci: Enable WebGPU support in demo
ruffle.rs should be part of the Chrome WebGPU origin trial, so we
can enable wgpu feature to try it out.

It should gracefully fall back to WebGL when WebGPU is not
available.
2021-10-25 14:00:37 -07:00
Chris Midgley ed5d909026 dev: use '' over "" 2021-10-22 11:11:08 +03:00
Chris Midgley a9b9d04ec3 dev: use env var over secret 2021-10-21 01:06:04 -07:00
Chris Midgley 4a99dbccba
ci: stop trying to sign Firefox extension again
Skip signing step if extension id secret is unset
2021-10-20 11:15:08 -07:00
Chris Midgley e0b2288005
dev: Set Firefox min version to try to help with signing
* dev: set min Firefox version to 91.1.0
* Revert "dev: don't even try to sign firefox ext"
2021-10-17 11:31:03 -07:00
Chris Midgley f37730153a dev: only try to push demo, docs and aur on base repo 2021-10-12 17:22:34 -07:00
Chris Midgley b0fec2c2cb dev: don't even try to sign firefox ext 2021-10-09 18:06:47 +02:00
relrelb eb51e9b59a ci: Bump KSXGitHub/github-actions-deploy-aur 2021-09-25 13:40:59 +03:00
Chris Midgley 7f09e751a1
dev: have required builds 'run' (#5332)
* dev: have required builds 'run'

* dev: remove unnecessary fields

* dev: do less in the no-op step
2021-09-21 21:01:51 +02:00
Chris Midgley 898d8df9a8 fix: firefox_unsigned, not firefox-unsigned 2021-09-21 20:57:40 +02:00
Chris Midgley dd58bbf17b fix: correct working directory for firefox signing 2021-09-21 20:10:20 +02:00
Chris Midgley 5ee34ef1ed chore: remove extraneous brackets in if 2021-09-21 20:10:20 +02:00
Chris Midgley 29111db9f3 dev: correct names of steps 2021-09-21 20:10:20 +02:00
Chris Midgley f276712c2c dev: allow for failure of firefox signing in build nightly 2021-09-21 20:10:20 +02:00
relrelb dd42b563ff web: Bump wasm-bindgen to 0.2.78
As usual, also bump its helper crates (`js-sys`, `wasm-bindgen-futures`)
to the latest versions, except for `web-sys` which is locked by wgpu
to 0.3.50.
2021-09-18 21:35:50 +02:00
Toad06 cee85cb057
chore: Improve the issue template
Use YAML syntax.
2021-09-12 12:50:57 -07:00
Mike Welsh 9978eaa954 chore: Bump to wasm-bindgen 0.2.77 2021-09-10 16:32:14 -07:00
Chris Midgley d34d8457ea dev: Only test beta rust on ubuntu 2021-09-06 17:35:03 +02:00
relrelb 915204b998 ci: Checkout source before paths filter
Otherwise the paths filter fails to list files using git.
2021-08-26 01:07:17 +03:00
relrelb 2ff9d93c90 ci: Cleanup quotes
Prefer single quotes over double quotes, and omit them where possible.
2021-08-26 01:07:17 +03:00
relrelb 7483afa4a9 ci: Inline `img_tests` boolean
Simplifies the logic, makes it shorter more readable.
2021-08-26 01:07:17 +03:00
relrelb bf32a0096b ci: Formatting 2021-08-26 01:07:17 +03:00
relrelb db247f5a1a ci: Use `dorny/paths-filter` to run only if certain file paths change
The previous approach of `paths-ignore` was flawed because currently
it doesn't interact well with GitHub's "Require status checks to pass
before merging" setting. As a result, PRs that didn't trigger all
workflows couldn't be merged, because GitHub waited for the skipped
workflows to finish.

`dorny/paths-filter` is a somewhat elegant workaround proposed in
https://stackoverflow.com/questions/66751567.
2021-08-25 23:59:47 +03:00
Adrian Wielgosik cc557fd6e7 Revert "dev: run workflows only if certain file paths change (#5103)"
This reverts commit 60cf947334.
2021-08-25 21:26:39 +02:00
Chris Midgley 60cf947334
dev: run workflows only if certain file paths change (#5103)
* dev: run workflows only if certain file paths change

* fix: looks like you can't ? a /

* feat: simpler approach

Don't run Rust if only package.json, package-lock.json or anything under
web/packages has changed.

Don't run either if they only have docs changes.
2021-08-23 22:19:22 +02:00
TÖRÖK Attila 708c274069 github: Set a dummy value for $XDG_RUNTIME_DIR to silence some warnings 2021-08-23 22:15:32 +02:00
Adrian Wielgosik 2f07363aa7 dev: Only test nightly rustc on linux 2021-08-22 13:29:14 +02:00
Adrian Wielgosik 8c8be7804d dev: Make beta builds non-required 2021-08-22 00:08:29 +02:00
relrelb 7be7182eb9 web: Bump wasm-bindgen to 0.2.76
As usual, also bump its helper crates (js-sys, wasm-bindgen-futures)
to the latest versions, except for web-sys which is locked by wgpu
to 0.3.50.
2021-08-21 14:59:26 +02:00
Chris Midgley 9fd4f097f8 dev: check formatting before running tests 2021-08-21 14:58:10 +02:00
relrelb 232bb26b7f web: Bump wasm-bindgen to 0.2.75
Also bump its helper crates (js-sys, wasm-bindgen-futures) to the
latest versions, except for web-sys which seems to be locked by wgpu
to 0.3.50.
2021-08-08 16:53:41 +03:00
Chris Midgley d7da19bffa fix: remove the version requirement for mesa drivers 2021-07-31 11:17:19 +03:00
relrelb 2ba103ac3f web: Bump wasm-bindgen to 0.2.74
Also bump its helper crates (js-sys, wasm-bindgen-futures) to the
latest versions, except for web-sys which seems to be locked by wgpu
to one version before the latest (0.3.50).
2021-07-23 22:17:51 -07:00
Mike Welsh 8a2298bd8f chore: Bump mesa-vulkan-drivers version 2021-07-22 00:30:18 -07:00
Aaron Hill 068e06e40f Add support for image comparison tests 2021-07-21 21:48:24 -07:00
Chris Midgley 9590d9bb13 dev: set dependabot npm versioning strategy to increase 2021-06-20 02:21:17 -07:00
Mike Welsh aacdcc43ca chore: Update issue templates 2021-05-22 12:08:53 -07:00
Mike Welsh 66b144e49b ci: Run apt-get update
GitHub Actions runners updated to Ubuntu 20.04, so run apt-get
update to ensure we can install our Linux dependencies (namely
libasound2).
2021-05-07 20:05:17 -07:00
Mike Welsh f2256a661b ci: Bump github-actions-deploy-aur
Hopefully fix AUR packaging because archlinux Docker image has
moved.
2021-05-02 15:29:31 -07:00
dependabot-preview[bot] 95e01ee7ee chore: Upgrade to GitHub-native Dependabot
Change Rust crate update to weekly and npm to monthly.
2021-04-29 13:28:22 -07:00
Mathew Hodson e4fd376c22 ci: Fix typo in macOS build step name 2021-04-26 00:01:42 -07:00
Mike Welsh 3708520952 ci: Refactor nightly release script 2021-04-25 11:47:58 -07:00
Mike Welsh bab2701208 web: Bump wasm-bindgen and js-sys versions 2021-04-16 23:37:23 -07:00
Mike Welsh 7171628b44 ci: Append GitHub build ID instead to extension version
Appending the build date doesn't work (the Mozilla verison format
requires each numeric to be <65536). Use GITHUB_RUN_NUMBER instead,
which increases each time the workflow runs.
2021-04-16 22:17:01 -07:00
Mike Welsh 7e338335bf ci: Allow manual dispatch of release_nightly workflow
Ignore activity check when release_nightly is manually dispatched.
2021-04-16 19:09:18 -07:00
Mike Welsh 0ff9d7d3f5 ci: Add Mozilla add-on secrets to CI environment 2021-04-16 19:09:18 -07:00
Mike Welsh 959bd97e17 ci: Upload signed Firefox add-on to GitHub releases 2021-04-16 12:31:14 -07:00
Mike Welsh 09c6def7f0 docs: Clarify license 2021-02-10 03:16:08 -08:00
relrelb 26d3179afe ci: Fix web build 2021-02-03 11:10:00 -08:00
relrelb 59966348c6 ci: Fix publish AUR package job 2021-02-02 10:58:25 -08:00
relrelb 5783021d99
ci: Publish nightly builds to the AUR
Add a new job to release_nightly.yml that updates the AUR package
https://aur.archlinux.org/packages/ruffle-nightly-bin/ on nightly
basis.
2021-02-01 14:24:17 -08:00
relrelb 6d2ad4e607
chore: Cleanup actions 2021-01-31 19:07:36 -08:00
Mike Welsh d1fb36fbe2 chore: Add wasm-bindgen-cli version to docs 2021-01-31 12:42:51 -08:00
Pablo Rodríguez a6753e1778
chore: Correct minor typo in issue template 2021-01-31 12:04:44 -08:00
Mike Welsh d95b9d61c6 chore: Add an issue template 2021-01-30 19:50:44 -08:00
Mike Welsh 44bfd46bf9 chore: Lock wasm-bindgen and wasm-bindgen-cli to 0.2.69 2021-01-25 12:27:21 -08:00
relrelb 3fb58580c5
web: Add stylelint 2021-01-22 09:12:48 -08:00
TÖRÖK Attila 2858faaaf2
web: Drop wasm-pack, invoke wasm-bindgen and wasm-opt directly from npm (#2482) 2021-01-15 12:59:25 -08:00
Adrian Wielgosik 1bbe3c97b3 desktop: Build windows binaries with crt-static
Remove requirement for MSVC redstributables.
2021-01-15 12:10:12 -08:00
Mike Welsh 7b3112d89d ci: Disable macOS web tests for now
macOS-web has been flaky on CI, so disable it for now.
2020-12-26 14:09:41 -08:00
Nathan Adams f053562408 chore: Fix publish of js docs 2020-11-26 17:07:58 -08:00
Nathan Adams a4baa4897e chore: Fix nightly builds 2020-11-26 11:14:58 -08:00
Nathan Adams b744212a39 chore: Publish js docs nightly 2020-11-24 16:36:33 -08:00
Mike Welsh 99112c7032 ci: Remove unneeded folder from Win release archive (fix #1592) 2020-11-19 11:54:02 -08:00
Mike Welsh 8265efd306 ci: Use environment file instead of set-env 2020-11-18 23:31:13 -08:00
Mike Welsh 0650b095f6 ci: Upload nightly demo build to GitHub Pages 2020-10-10 01:15:48 -07:00
Luca Weiss d5cb396331 *: fix spelling mistakes 2020-09-19 16:17:58 -07:00
Nathan Adams 7b1f53ddc0 chore: Fix nightly generation not triggering if an older PR lands 2020-09-09 12:04:52 -07:00
Nathan Adams e68b980f33 chore: Release nightlies through github - #584 2020-09-04 16:16:25 -07:00
Nathan Adams fe53cbfb6d chore: Remove hardcoded command in github ci 2020-06-13 12:35:14 -07:00
CUB3D 22d64aabd5 chore: Fix failing tests
Add missing libraries for X11 clipboard access
2020-06-09 22:41:11 +01:00
Nathan Adams 82c1930c0f web: web doesn't need install before bootstrap now 2020-05-19 11:42:57 +02:00
Nathan Adams ec6363813c chore: Split CI into "rust" and "web" tests to speed up time 2020-05-19 11:42:57 +02:00
Nathan Adams 2f9846b05c web: Don't hoist in lerna bootstrap, it seems to cause issues installing CLI dependencies 2020-05-19 11:42:56 +02:00
Nathan Adams bdbb9ec7f7 chore: Run `npm ci` to make sure we have lerna installed 2020-05-19 11:42:56 +02:00
Nathan Adams 4ab15855ff chore: Check web tests in CI 2020-05-19 11:42:55 +02:00
Nathan Adams 7b8a4ffed1 web: Switch to using lerna for package management 2020-05-19 11:42:53 +02:00
Nathan Adams b9eee4e5ed chore: Check javascript style on PRs
This fixes #570
2020-05-16 01:58:18 -07:00
Nathan Adams 24ffe94445 chore: Add Github Actions for testing every commit & pull requests 2020-05-10 20:16:29 -07:00