From e1044d8917bea1d7ee52d3ba7e4b3c7a6ea5d190 Mon Sep 17 00:00:00 2001 From: BatteredBunny Date: Sun, 5 May 2024 16:24:31 +0300 Subject: [PATCH] Add release github actions --- .github/workflows/release.yml | 77 +++++++++++++++++++++++++++++++++++ flake.nix | 42 ++++++++++--------- go.work.sum | 2 + 3 files changed, 101 insertions(+), 20 deletions(-) create mode 100644 .github/workflows/release.yml create mode 100644 go.work.sum diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..c507ab4 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,77 @@ +name: Build and Release + +on: + push: + tags: + - "v*.*.*" + +jobs: + build-macos: + runs-on: macos-latest + steps: + - uses: actions/checkout@v4 + - uses: DeterminateSystems/nix-installer-action@main + - name: Build and package + run: | + nix build .#native + cp result/bin/browser_terminal browser_terminal_macos + - name: Upload macos artifact + uses: actions/upload-artifact@v4 + with: + name: macos + path: browser_terminal_macos + + build-linux: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: DeterminateSystems/nix-installer-action@main + - name: Build and package + run: | + nix build .#native + cp result/bin/browser_terminal browser_terminal_linux + - name: Upload linux artifact + uses: actions/upload-artifact@v4 + with: + name: linux + path: browser_terminal_linux + + build-extension: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: DeterminateSystems/nix-installer-action@main + - name: Build and package + run: nix build .#extension + - name: Upload extension artifact + uses: actions/upload-artifact@v4 + with: + name: extensions + path: result/*.zip + + release: + needs: [build-macos, build-linux, build-extension] + runs-on: ubuntu-latest + steps: + - name: Download macos artifacts + uses: actions/download-artifact@v4 + with: + name: macos + path: macos + - name: Download linux artifacts + uses: actions/download-artifact@v4 + with: + name: linux + path: linux + - name: Download extension artifacts + uses: actions/download-artifact@v4 + with: + name: extensions + path: extensions + - name: Create release + uses: softprops/action-gh-release@v2 + with: + files: | + linux/browser_terminal_linux + macos/browser_terminal_macos + extensions/* \ No newline at end of file diff --git a/flake.nix b/flake.nix index fa58b16..2c41014 100644 --- a/flake.nix +++ b/flake.nix @@ -4,31 +4,33 @@ flake-utils.url = "github:numtide/flake-utils"; }; - outputs = { - nixpkgs, - flake-utils, - ... - }: + outputs = + { nixpkgs + , flake-utils + , ... + }: flake-utils.lib.eachDefaultSystem ( - system: let + system: + let pkgs = import nixpkgs { inherit system; }; in - with pkgs; { - devShells.default = mkShell { - buildInputs = [ - go - yarn - nodePackages.web-ext - esbuild - ]; - }; + with pkgs; { + devShells.default = mkShell { + buildInputs = [ + go + yarn + nodePackages.web-ext + esbuild + ]; + }; - packages = { - native = callPackage ./native.nix {}; - default = callPackage ./build.nix {}; - }; - } + packages = { + native = callPackage ./native.nix { }; + extension = callPackage ./build.nix { }; + default = callPackage ./build.nix { }; + }; + } ); } diff --git a/go.work.sum b/go.work.sum new file mode 100644 index 0000000..f32a99d --- /dev/null +++ b/go.work.sum @@ -0,0 +1,2 @@ +github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= +github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4=