Use dedicated Android CI runner
This commit is contained in:
+45
-7
@@ -13,15 +13,15 @@ permissions:
|
|||||||
contents: write
|
contents: write
|
||||||
|
|
||||||
env:
|
env:
|
||||||
GO_VERSION: "1.26.0"
|
GO_VERSION: "1.26.1"
|
||||||
ANDROID_SDK_ROOT: /opt/android-sdk
|
ANDROID_SDK_ROOT: /opt/android-sdk
|
||||||
ANDROID_NDK_ROOT: /opt/android-ndk
|
ANDROID_NDK_ROOT: /opt/android-sdk/ndk
|
||||||
JAVA_HOME: /usr/lib/jvm/java-25-openjdk
|
JAVA_HOME: /usr/lib/jvm/java-21-openjdk-amd64
|
||||||
DIST_DIR: dist
|
DIST_DIR: dist
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
lint-test:
|
lint-test:
|
||||||
runs-on: ubuntu-22.04
|
runs-on: keepassgo-android
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
@@ -31,13 +31,32 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
go-version: ${{ env.GO_VERSION }}
|
go-version: ${{ env.GO_VERSION }}
|
||||||
|
|
||||||
|
- name: Install native build dependencies
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
set -euo pipefail
|
||||||
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
|
apt-get update
|
||||||
|
apt-get install -y --no-install-recommends \
|
||||||
|
zsh \
|
||||||
|
pkg-config \
|
||||||
|
libx11-dev \
|
||||||
|
libx11-xcb-dev \
|
||||||
|
libxkbcommon-dev \
|
||||||
|
libxkbcommon-x11-dev \
|
||||||
|
libwayland-dev \
|
||||||
|
libvulkan-dev \
|
||||||
|
libegl1-mesa-dev \
|
||||||
|
libxcursor-dev \
|
||||||
|
libxfixes-dev
|
||||||
|
|
||||||
- name: Lint
|
- name: Lint
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
state_dir="$(mktemp -d)"
|
state_dir="$(mktemp -d)"
|
||||||
trap 'rm -rf -- "$state_dir"' EXIT
|
trap 'rm -rf -- "$state_dir"' EXIT
|
||||||
KEEPASSGO_STATE_DIR="$state_dir" go tool golangci-lint run
|
KEEPASSGO_STATE_DIR="$state_dir" go tool golangci-lint run --build-tags nox11,nowayland,novulkan ./...
|
||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -45,11 +64,11 @@ jobs:
|
|||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
state_dir="$(mktemp -d)"
|
state_dir="$(mktemp -d)"
|
||||||
trap 'rm -rf -- "$state_dir"' EXIT
|
trap 'rm -rf -- "$state_dir"' EXIT
|
||||||
KEEPASSGO_STATE_DIR="$state_dir" go test ./...
|
KEEPASSGO_STATE_DIR="$state_dir" go test -tags nox11,nowayland,novulkan ./...
|
||||||
|
|
||||||
build:
|
build:
|
||||||
needs: lint-test
|
needs: lint-test
|
||||||
runs-on: ubuntu-22.04
|
runs-on: keepassgo-android
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
@@ -59,6 +78,25 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
go-version: ${{ env.GO_VERSION }}
|
go-version: ${{ env.GO_VERSION }}
|
||||||
|
|
||||||
|
- name: Install native build dependencies
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
set -euo pipefail
|
||||||
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
|
apt-get update
|
||||||
|
apt-get install -y --no-install-recommends \
|
||||||
|
zsh \
|
||||||
|
pkg-config \
|
||||||
|
libx11-dev \
|
||||||
|
libx11-xcb-dev \
|
||||||
|
libxkbcommon-dev \
|
||||||
|
libxkbcommon-x11-dev \
|
||||||
|
libwayland-dev \
|
||||||
|
libvulkan-dev \
|
||||||
|
libegl1-mesa-dev \
|
||||||
|
libxcursor-dev \
|
||||||
|
libxfixes-dev
|
||||||
|
|
||||||
- name: Prepare dist directory
|
- name: Prepare dist directory
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
@@ -2802,6 +2802,7 @@ func TestUIKeyboardShortcutActionsDispatchExpectedCommands(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
u.clipboardWriter = &memoryClipboardWriter{}
|
||||||
u.showEntriesSection()
|
u.showEntriesSection()
|
||||||
u.state.NavigateToPath([]string{"Root", "Internet"})
|
u.state.NavigateToPath([]string{"Root", "Internet"})
|
||||||
u.filter()
|
u.filter()
|
||||||
@@ -3016,6 +3017,7 @@ func TestUIActionErrorsAndStatusMessagesAreCapturedForDisplay(t *testing.T) {
|
|||||||
{ID: "git-server", Title: "Git Server", Username: "joejulian", Password: "token-1", URL: "https://git.julianfamily.org", Path: []string{"Root", "Internet"}},
|
{ID: "git-server", Title: "Git Server", Username: "joejulian", Password: "token-1", URL: "https://git.julianfamily.org", Path: []string{"Root", "Internet"}},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
u.clipboardWriter = &memoryClipboardWriter{}
|
||||||
u.showEntriesSection()
|
u.showEntriesSection()
|
||||||
u.state.NavigateToPath([]string{"Root", "Internet"})
|
u.state.NavigateToPath([]string{"Root", "Internet"})
|
||||||
u.filter()
|
u.filter()
|
||||||
|
|||||||
Reference in New Issue
Block a user