diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..e1f46f4 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,68 @@ +name: "publish" + +on: + push: + branches: + - release + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build-binaries: + strategy: + fail-fast: false + matrix: + platform: [macos-latest, ubuntu-latest, windows-latest] + + runs-on: ${{ matrix.platform }} + steps: + - uses: actions/checkout@v2 + + - name: setup node + uses: actions/setup-node@v1 + with: + node-version: 16 + + - name: install Rust stable + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + + - uses: Swatinem/rust-cache@v1 + + - name: install dependencies (ubuntu only) + if: matrix.platform == 'ubuntu-latest' + run: | + sudo apt-get update + sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf + - uses: JonasKruckenberg/tauri-build@v0.1.2-beta.8 + id: build_tauri + with: + projectPath: ./test/fixture + - run: | + echo "${{ steps.build_tauri.outputs.artifacts }}" + # The artifacts output can now be used to upload the artifacts + - uses: actions/upload-artifact@v3 + with: + name: artifacts + path: "${{ join(fromJSON(steps.tauri_build.outputs.artifacts), '\n') }}" + + publish: + needs: build-binaries + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/download-artifact@v3 + id: download + with: + name: artifacts + path: artifacts + - name: "create release" + uses: softprops/action-gh-release@master + env: + GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" + with: + draft: false + files: ./artifacts/**/* \ No newline at end of file diff --git a/test/fixture/dist/index.html b/test/fixture/dist/index.html new file mode 100644 index 0000000..66162d1 --- /dev/null +++ b/test/fixture/dist/index.html @@ -0,0 +1,21 @@ + + + + +

fixture

+ + diff --git a/test/fixture/package.json b/test/fixture/package.json new file mode 100644 index 0000000..87985e3 --- /dev/null +++ b/test/fixture/package.json @@ -0,0 +1,12 @@ +{ + "name": "fixture", + "scripts": { + "tauri": "tauri" + }, + "dependencies": { + "@tauri-apps/api": "1.0.0-rc.5" + }, + "devDependencies": { + "@tauri-apps/cli": "1.0.0-rc.10" + } +} \ No newline at end of file diff --git a/test/fixture/pnpm-lock.yaml b/test/fixture/pnpm-lock.yaml new file mode 100644 index 0000000..73587f0 --- /dev/null +++ b/test/fixture/pnpm-lock.yaml @@ -0,0 +1,122 @@ +lockfileVersion: 5.4 + +specifiers: + '@tauri-apps/api': 1.0.0-rc.5 + '@tauri-apps/cli': 1.0.0-rc.10 + +dependencies: + '@tauri-apps/api': 1.0.0-rc.5 + +devDependencies: + '@tauri-apps/cli': 1.0.0-rc.10 + +packages: + + /@tauri-apps/api/1.0.0-rc.5: + resolution: {integrity: sha512-IiQg7pLByl/W3KRx9Whn1EWh9ZrBojkl9FAgCRJ4//e58var1WmNPHA92YC0i0DLSIF0JLLp0EQKRHJa+aaqlQ==} + engines: {node: '>= 12.13.0', npm: '>= 6.6.0', yarn: '>= 1.19.1'} + dependencies: + type-fest: 2.12.2 + dev: false + + /@tauri-apps/cli-darwin-arm64/1.0.0-rc.10: + resolution: {integrity: sha512-KwnAAsR+H/U9NPF2P3UvZ0orfh/e8ng639GCvQoN/7b/EYzkLXYWGFd1sddTSSu8BM4OvIVXK1B86pn1xFohyg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@tauri-apps/cli-darwin-x64/1.0.0-rc.10: + resolution: {integrity: sha512-xIH+UnZPofpx4n3aphu2SD45uPXtX3rlsI5aO0ANsDWN/esuAAwRnh+JR+NlmJXPKwy1BNz9pewczE5JO5BdqA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@tauri-apps/cli-linux-arm-gnueabihf/1.0.0-rc.10: + resolution: {integrity: sha512-j0cVDcP7MPyOh8mC6pTiOnsGgxMc4GFlQGBUvriRkWFCrUbZPbq1Pxt/eTcroVGsT/ItCXvnYd9jEQ+e50LI3A==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@tauri-apps/cli-linux-arm64-gnu/1.0.0-rc.10: + resolution: {integrity: sha512-usdftJI/Jx0Z6TK8YJaHp2BtcNlvHeIUOnh3SmThbbYzDSFDqEW2E/McbxEhJJ13FPLVMLiIZYPpH26gE3vQxw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@tauri-apps/cli-linux-arm64-musl/1.0.0-rc.10: + resolution: {integrity: sha512-zsOhkc477mbe5wSkNuLv+D6RmQvDiaV8rHTaur+B/pxk9F0SrCYoO0Slf6x08bIiSkjyL/gN0PxnOBbEBA0u4A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@tauri-apps/cli-linux-x64-gnu/1.0.0-rc.10: + resolution: {integrity: sha512-ongWuhXieKwW+xaYPshw/59xYbZVH6JNw+KRb/054VFnfZe/ZDYbN86mCJIlegOq9WAkdc0XSm1EEDx3i9FYCg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@tauri-apps/cli-linux-x64-musl/1.0.0-rc.10: + resolution: {integrity: sha512-3AXJEdhFlX/erLBXmBkRG+oWfFLMMaJALSnxvzerteSNWiaEzTngy9Mo1yeAT51FhvJ+dbYQv0BWvPPFRYzpTQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@tauri-apps/cli-win32-ia32-msvc/1.0.0-rc.10: + resolution: {integrity: sha512-2SvSk9z51AfCsbch2fvX4GNo3s0b8TO/Kd9B6rDIZ7TUxwnGShJNup2+KGvBovKqFAPmgyrSbgyEMKhKc1B4iA==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@tauri-apps/cli-win32-x64-msvc/1.0.0-rc.10: + resolution: {integrity: sha512-mijSjeQGBGh6rvpkrqsSiTB4vwGprAXoDCmnIxliZ1Md4GgLMh8jzIug1UKAUmmIW1nOaQ9C9xu4wQXyoRqWHg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@tauri-apps/cli/1.0.0-rc.10: + resolution: {integrity: sha512-njDei3F3mlnotnujUF0jWteZC39RCm6JNAxZpzTFvWKFI/650DoA9hHTMa6onbazVgmOWdrbMHYWU/xBC/jUTw==} + engines: {node: '>= 10'} + hasBin: true + optionalDependencies: + '@tauri-apps/cli-darwin-arm64': 1.0.0-rc.10 + '@tauri-apps/cli-darwin-x64': 1.0.0-rc.10 + '@tauri-apps/cli-linux-arm-gnueabihf': 1.0.0-rc.10 + '@tauri-apps/cli-linux-arm64-gnu': 1.0.0-rc.10 + '@tauri-apps/cli-linux-arm64-musl': 1.0.0-rc.10 + '@tauri-apps/cli-linux-x64-gnu': 1.0.0-rc.10 + '@tauri-apps/cli-linux-x64-musl': 1.0.0-rc.10 + '@tauri-apps/cli-win32-ia32-msvc': 1.0.0-rc.10 + '@tauri-apps/cli-win32-x64-msvc': 1.0.0-rc.10 + dev: true + + /type-fest/2.12.2: + resolution: {integrity: sha512-qt6ylCGpLjZ7AaODxbpyBZSs9fCI9SkL3Z9q2oxMBQhs/uyY+VD8jHA8ULCGmWQJlBgqvO3EJeAngOHD8zQCrQ==} + engines: {node: '>=12.20'} + dev: false diff --git a/test/fixture/src-tauri/.gitignore b/test/fixture/src-tauri/.gitignore new file mode 100644 index 0000000..c123704 --- /dev/null +++ b/test/fixture/src-tauri/.gitignore @@ -0,0 +1,4 @@ +# Generated by Cargo +# will have compiled files and executables +/target/ +WixTools diff --git a/test/fixture/src-tauri/Cargo.toml b/test/fixture/src-tauri/Cargo.toml new file mode 100644 index 0000000..dd6a35b --- /dev/null +++ b/test/fixture/src-tauri/Cargo.toml @@ -0,0 +1,28 @@ +[package] +name = "app" +version = "0.1.0" +description = "A Tauri App" +authors = ["you"] +license = "" +repository = "" +default-run = "app" +edition = "2021" +rust-version = "1.57" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[build-dependencies] +tauri-build = { version = "1.0.0-rc.8" } + +[dependencies] +serde_json = "1.0" +serde = { version = "1.0", features = ["derive"] } +tauri = { version = "1.0.0-rc.9", features = [ "api-all" ] } + +[features] +# by default Tauri runs in production mode +# when `tauri dev` runs it is executed with `cargo run --no-default-features` if `devPath` is an URL +default = [ "custom-protocol" ] +# this feature is used used for production builds where `devPath` points to the filesystem +# DO NOT remove this +custom-protocol = [ "tauri/custom-protocol" ] diff --git a/test/fixture/src-tauri/build.rs b/test/fixture/src-tauri/build.rs new file mode 100644 index 0000000..795b9b7 --- /dev/null +++ b/test/fixture/src-tauri/build.rs @@ -0,0 +1,3 @@ +fn main() { + tauri_build::build() +} diff --git a/test/fixture/src-tauri/icons/128x128.png b/test/fixture/src-tauri/icons/128x128.png new file mode 100644 index 0000000..6be5e50 Binary files /dev/null and b/test/fixture/src-tauri/icons/128x128.png differ diff --git a/test/fixture/src-tauri/icons/128x128@2x.png b/test/fixture/src-tauri/icons/128x128@2x.png new file mode 100644 index 0000000..e81bece Binary files /dev/null and b/test/fixture/src-tauri/icons/128x128@2x.png differ diff --git a/test/fixture/src-tauri/icons/32x32.png b/test/fixture/src-tauri/icons/32x32.png new file mode 100644 index 0000000..a437dd5 Binary files /dev/null and b/test/fixture/src-tauri/icons/32x32.png differ diff --git a/test/fixture/src-tauri/icons/Square107x107Logo.png b/test/fixture/src-tauri/icons/Square107x107Logo.png new file mode 100644 index 0000000..0ca4f27 Binary files /dev/null and b/test/fixture/src-tauri/icons/Square107x107Logo.png differ diff --git a/test/fixture/src-tauri/icons/Square142x142Logo.png b/test/fixture/src-tauri/icons/Square142x142Logo.png new file mode 100644 index 0000000..b81f820 Binary files /dev/null and b/test/fixture/src-tauri/icons/Square142x142Logo.png differ diff --git a/test/fixture/src-tauri/icons/Square150x150Logo.png b/test/fixture/src-tauri/icons/Square150x150Logo.png new file mode 100644 index 0000000..624c7bf Binary files /dev/null and b/test/fixture/src-tauri/icons/Square150x150Logo.png differ diff --git a/test/fixture/src-tauri/icons/Square284x284Logo.png b/test/fixture/src-tauri/icons/Square284x284Logo.png new file mode 100644 index 0000000..c021d2b Binary files /dev/null and b/test/fixture/src-tauri/icons/Square284x284Logo.png differ diff --git a/test/fixture/src-tauri/icons/Square30x30Logo.png b/test/fixture/src-tauri/icons/Square30x30Logo.png new file mode 100644 index 0000000..6219700 Binary files /dev/null and b/test/fixture/src-tauri/icons/Square30x30Logo.png differ diff --git a/test/fixture/src-tauri/icons/Square310x310Logo.png b/test/fixture/src-tauri/icons/Square310x310Logo.png new file mode 100644 index 0000000..f9bc048 Binary files /dev/null and b/test/fixture/src-tauri/icons/Square310x310Logo.png differ diff --git a/test/fixture/src-tauri/icons/Square44x44Logo.png b/test/fixture/src-tauri/icons/Square44x44Logo.png new file mode 100644 index 0000000..d5fbfb2 Binary files /dev/null and b/test/fixture/src-tauri/icons/Square44x44Logo.png differ diff --git a/test/fixture/src-tauri/icons/Square71x71Logo.png b/test/fixture/src-tauri/icons/Square71x71Logo.png new file mode 100644 index 0000000..63440d7 Binary files /dev/null and b/test/fixture/src-tauri/icons/Square71x71Logo.png differ diff --git a/test/fixture/src-tauri/icons/Square89x89Logo.png b/test/fixture/src-tauri/icons/Square89x89Logo.png new file mode 100644 index 0000000..f3f705a Binary files /dev/null and b/test/fixture/src-tauri/icons/Square89x89Logo.png differ diff --git a/test/fixture/src-tauri/icons/StoreLogo.png b/test/fixture/src-tauri/icons/StoreLogo.png new file mode 100644 index 0000000..4556388 Binary files /dev/null and b/test/fixture/src-tauri/icons/StoreLogo.png differ diff --git a/test/fixture/src-tauri/icons/icon.icns b/test/fixture/src-tauri/icons/icon.icns new file mode 100644 index 0000000..8254645 Binary files /dev/null and b/test/fixture/src-tauri/icons/icon.icns differ diff --git a/test/fixture/src-tauri/icons/icon.ico b/test/fixture/src-tauri/icons/icon.ico new file mode 100644 index 0000000..b3636e4 Binary files /dev/null and b/test/fixture/src-tauri/icons/icon.ico differ diff --git a/test/fixture/src-tauri/icons/icon.png b/test/fixture/src-tauri/icons/icon.png new file mode 100644 index 0000000..e1cd261 Binary files /dev/null and b/test/fixture/src-tauri/icons/icon.png differ diff --git a/test/fixture/src-tauri/src/main.rs b/test/fixture/src-tauri/src/main.rs new file mode 100644 index 0000000..e994ea4 --- /dev/null +++ b/test/fixture/src-tauri/src/main.rs @@ -0,0 +1,10 @@ +#![cfg_attr( + all(not(debug_assertions), target_os = "windows"), + windows_subsystem = "windows" +)] + +fn main() { + tauri::Builder::default() + .run(tauri::generate_context!()) + .expect("error while running tauri application"); +} diff --git a/test/fixture/src-tauri/tauri.conf.json b/test/fixture/src-tauri/tauri.conf.json new file mode 100644 index 0000000..8d32be4 --- /dev/null +++ b/test/fixture/src-tauri/tauri.conf.json @@ -0,0 +1,66 @@ +{ + "$schema": "../node_modules/@tauri-apps/cli/schema.json", + "build": { + "beforeBuildCommand": "", + "beforeDevCommand": "", + "devPath": "../dist", + "distDir": "../dist" + }, + "package": { + "productName": "fixture", + "version": "0.1.0" + }, + "tauri": { + "allowlist": { + "all": true + }, + "bundle": { + "active": true, + "category": "DeveloperTool", + "copyright": "", + "deb": { + "depends": [] + }, + "externalBin": [], + "icon": [ + "icons/32x32.png", + "icons/128x128.png", + "icons/128x128@2x.png", + "icons/icon.icns", + "icons/icon.ico" + ], + "identifier": "com.tauri.dev", + "longDescription": "", + "macOS": { + "entitlements": null, + "exceptionDomain": "", + "frameworks": [], + "providerShortName": null, + "signingIdentity": null + }, + "resources": [], + "shortDescription": "", + "targets": "all", + "windows": { + "certificateThumbprint": null, + "digestAlgorithm": "sha256", + "timestampUrl": "" + } + }, + "security": { + "csp": null + }, + "updater": { + "active": false + }, + "windows": [ + { + "fullscreen": false, + "height": 600, + "resizable": true, + "title": "Tauri App", + "width": 800 + } + ] + } +} \ No newline at end of file