-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Adds the ability to list, create, and delete indexes
- Loading branch information
Jesse S
authored
Jul 2, 2024
1 parent
b283db6
commit 938957b
Showing
48 changed files
with
5,374 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,134 @@ | ||
name: Build and Create Pre-Release | ||
|
||
on: | ||
workflow_dispatch: | ||
inputs: | ||
addCommit: | ||
description: 'Dev build?' | ||
required: false | ||
type: boolean | ||
deletePrevBuild: | ||
description: 'Delete existing pre-releases?' | ||
required: false | ||
type: boolean | ||
jobs: | ||
build-and-release: | ||
runs-on: macos-13 | ||
steps: | ||
- name: "Git checkout" | ||
uses: actions/checkout@v3 | ||
- name: "Install Homebrew" | ||
run: /bin/bash -c "NONINTERACTIVE=1 $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" | ||
- name: "Install Dependencies" | ||
run: | | ||
/usr/local/bin/brew install --overwrite [email protected] || echo "I1.1" | ||
/usr/local/bin/brew link --overwrite [email protected] || echo "I1.2" | ||
/usr/local/bin/brew install --overwrite dpkg upx zip make wget jq rpm || echo "I2" | ||
/usr/local/bin/brew link --overwrite [email protected] || echo "I1.3" | ||
/usr/local/bin/brew install [email protected] || echo "I1.4" | ||
/usr/local/bin/brew install [email protected] || echo "I1.5" | ||
for i in dpkg upx zip make wget jq rpm python3.11; do command -v $i || exit 1; done | ||
echo "Dependencies checked" | ||
- name: "Install golang" | ||
run: | | ||
wget https://go.dev/dl/go1.22.2.darwin-amd64.pkg | ||
sudo installer -store -pkg go1.22.2.darwin-amd64.pkg -target / | ||
- name: "Install Packages.pkg for making macos PKG files" | ||
run: | | ||
wget http://s.sudre.free.fr/Software/files/Packages.dmg | ||
hdiutil attach -mountpoint /Volumes/Packages Packages.dmg | ||
cd /Volumes/Packages | ||
sudo installer -pkg Install\ Packages.pkg -target / | ||
- name: "Compile" | ||
env: | ||
ADDCOMMIT: ${{ inputs.addCommit }} | ||
run: | | ||
buildcmd="build-prerelease" | ||
[ "${ADDCOMMIT}" = "false" ] && buildcmd="build-official" | ||
export PATH=$PATH:/usr/local/bin:/usr/local/go/bin | ||
cd ~/work/asvec/asvec && make cleanall && make ${buildcmd} | ||
- name: "Create linux packages" | ||
env: | ||
ADDCOMMIT: ${{ inputs.addCommit }} | ||
run: | | ||
buildcmd="build-prerelease" | ||
[ "${ADDCOMMIT}" = "false" ] && buildcmd="build-official" | ||
export PATH=$PATH:/usr/local/bin:/usr/local/go/bin | ||
cd ~/work/asvec/asvec && make pkg-linux | ||
- name: "Create windows zips" | ||
env: | ||
ADDCOMMIT: ${{ inputs.addCommit }} | ||
run: | | ||
buildcmd="build-prerelease" | ||
[ "${ADDCOMMIT}" = "false" ] && buildcmd="build-official" | ||
export PATH=$PATH:/usr/local/bin:/usr/local/go/bin | ||
cd ~/work/asvec/asvec && make pkg-windows-zip | ||
- name: "Print asvec version" | ||
run: cd ~/work/asvec/asvec && ./bin/asvec-macos-amd64 --version | ||
- name: "Prepare keychain for signing MacOS" | ||
env: | ||
keypw: ${{ secrets.APPLEUSERPW }} | ||
INSTALLERP12: ${{ secrets.INSTALLERP12 }} | ||
APPLICATIONP12: ${{ secrets.APPLICATIONP12 }} | ||
run: | | ||
set -e | ||
security create-keychain -p mysecretpassword build.keychain | ||
security default-keychain -s build.keychain | ||
security unlock-keychain -p mysecretpassword build.keychain | ||
security set-keychain-settings build.keychain | ||
security unlock-keychain -p mysecretpassword build.keychain | ||
echo "$APPLICATIONP12" | base64 -d > app.p12 | ||
echo "$INSTALLERP12" | base64 -d > install.p12 | ||
security import app.p12 -k build.keychain -P $keypw -A | ||
security import install.p12 -k build.keychain -P $keypw -A | ||
security set-key-partition-list -S apple-tool:,apple: -s -k mysecretpassword build.keychain | ||
- name: "Sign and build MacOS" | ||
env: | ||
xasvec_appleid: ${{ secrets.APPLEUSER }} | ||
xasvec_applepw: ${{ secrets.APPLEAPPPW }} | ||
xasvec_signer: ${{ secrets.APPLESIGNER }} | ||
xasvec_installsigner: ${{ secrets.APPLEINSTALLSIGNER }} | ||
xasvec_teamid: ${{ secrets.APPLETEAMID }} | ||
run: | | ||
set -e | ||
export asvec_appleid="${xasvec_appleid}" | ||
export asvec_applepw="${xasvec_applepw}" | ||
export asvec_signer="${xasvec_signer}" | ||
export asvec_installsigner="${xasvec_installsigner}" | ||
export asvec_teamid="${xasvec_teamid}" | ||
export PATH=$PATH:/usr/local/bin:/usr/local/go/bin && cd ~/work/asvec/asvec && make macos-build-all && make macos-notarize-all | ||
- name: "Create a new pre-release" | ||
env: | ||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
ADDCOMMIT: ${{ inputs.addCommit }} | ||
run: | | ||
set -e | ||
echo "${ADDCOMMIT}" | ||
cd ~/work/asvec/asvec/bin/packages | ||
COMMIT=$(git rev-parse --short HEAD) | ||
VER=$(cat ../../VERSION.md) | ||
BRANCH=$(git rev-parse --abbrev-ref HEAD) | ||
TAG=${VER}-${COMMIT} | ||
[ "${ADDCOMMIT}" = "false" ] && TAG=${VER} | ||
FULLCOMMIT=$(git rev-parse HEAD) | ||
gh release create -R github.com/aerospike/asvec --notes-file ../../RELEASE.md --prerelease --target ${FULLCOMMIT} --title "Asvec - v${TAG}" ${TAG} asvec-linux-amd64-${VER}.deb asvec-linux-amd64-${VER}.rpm asvec-linux-amd64-${VER}.zip asvec-linux-arm64-${VER}.deb asvec-linux-arm64-${VER}.rpm asvec-linux-arm64-${VER}.zip asvec-macos-${VER}.pkg asvec-macos-amd64-${VER}.zip asvec-macos-arm64-${VER}.zip asvec-windows-amd64-${VER}.zip asvec-windows-arm64-${VER}.zip | ||
- name: "Delete previous pre-release" | ||
env: | ||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
DELPREV: ${{ inputs.deletePrevBuild }} | ||
run: | | ||
if [ "${DELPREV}" = "true" ] | ||
then | ||
set -e | ||
gh release list -R github.com/aerospike/asvec -L 100 |grep Pre-release |awk -F'\t' '{print $3}' |while read line | ||
do | ||
if [ "$line" != "${TAG}" ] | ||
then | ||
if [[ $line =~ ^${VER}- ]] | ||
then | ||
echo "Removing $line" | ||
gh release delete $line -R github.com/aerospike/asvec --yes --cleanup-tag | ||
fi | ||
fi | ||
done | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
name: golangci-lint | ||
on: | ||
push: | ||
tags: | ||
- v* | ||
branches: | ||
- main | ||
pull_request: | ||
branches: | ||
- main | ||
|
||
jobs: | ||
golangci: | ||
name: lint | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout sources | ||
uses: actions/checkout@v3 | ||
- name: Setup-go | ||
uses: actions/setup-go@v3 | ||
with: | ||
go-version: 1.21 | ||
- name: Run golangci-lint | ||
uses: golangci/golangci-lint-action@v3 | ||
with: | ||
version: v1.58 | ||
args: --timeout=5m --out-format=colored-line-number |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
name: Check Markdown and Help Text Links | ||
|
||
on: push | ||
|
||
jobs: | ||
markdown-link-check: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@master | ||
- uses: gaurav-nelson/github-action-markdown-link-check@v1 | ||
with: | ||
use-quiet-mode: yes | ||
file-extension: .md | ||
- uses: gaurav-nelson/github-action-markdown-link-check@v1 | ||
with: | ||
use-quiet-mode: yes | ||
file-extension: .go | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
name: Test | ||
on: | ||
push: | ||
branches-ignore: | ||
- main | ||
workflow_call: | ||
|
||
jobs: | ||
tests: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Get go version from go.mod | ||
run: | | ||
echo "GO_VERSION=$(grep '^go ' go.mod | cut -d " " -f 2)" >> $GITHUB_ENV | ||
- uses: actions/setup-go@v3 | ||
with: | ||
go-version: ${{ env.GO_VERSION }} | ||
- name: Write feature keys | ||
env: | ||
FEATURES_CONF : ${{secrets.FEATURES_CONF}} | ||
|
||
run: | | ||
echo "$FEATURES_CONF" > docker/config/features.conf | ||
- name: Run tests | ||
run: | | ||
make coverage | ||
- name: Upload coverage to Codecov | ||
uses: codecov/codecov-action@v3 | ||
with: | ||
token: ${{secrets.CODECOV_TOKEN}} | ||
files: ./coverage/total.cov | ||
verbose: false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
/docker/config/features.conf | ||
/bin/* | ||
embed_*.go | ||
/tmp | ||
/vendor | ||
/coverage |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
|
||
linters-settings: | ||
goconst: | ||
min-len: 2 | ||
min-occurrences: 3 | ||
gocritic: | ||
enabled-tags: | ||
- diagnostic | ||
- experimental | ||
- opinionated | ||
- performance | ||
- style | ||
govet: | ||
shadow: true | ||
enable: | ||
- fieldalignment | ||
nolintlint: | ||
require-explanation: true | ||
require-specific: true | ||
depguard: | ||
rules: | ||
Main: | ||
allow: | ||
- $gostd | ||
- github.com/aerospike/tools-common-go | ||
- github.com/aerospike/aerospike-proximus-client-go | ||
- asvec/cmd | ||
- github.com/spf13/cobra | ||
- github.com/spf13/viper | ||
- github.com/spf13/pflag | ||
- github.com/jedib0t/go-pretty | ||
|
||
linters: | ||
disable-all: true | ||
enable: | ||
- bodyclose | ||
# - unused # intentionally commented to avoid unused func warning as this repo is library | ||
- depguard | ||
- dogsled | ||
- dupl | ||
- errcheck | ||
- exportloopref | ||
- exhaustive | ||
- goconst | ||
- gocritic | ||
- gofmt | ||
- goimports | ||
- gocyclo | ||
- gosec | ||
- gosimple | ||
- govet | ||
- ineffassign | ||
- misspell | ||
- nolintlint | ||
- nakedret | ||
- prealloc # pre-allocate slices with define size if the slice size is known in advance | ||
- predeclared | ||
- revive | ||
- staticcheck | ||
- stylecheck | ||
- thelper | ||
- tparallel | ||
- typecheck | ||
- unconvert | ||
- unparam | ||
- whitespace | ||
- lll | ||
- wsl # While space linter | ||
|
||
run: | ||
issues-exit-code: 1 | ||
go: '1.21' | ||
# skip-dirs: | ||
# - sample | ||
# skip-files: | ||
# - sample | ||
|
||
# issues: | ||
# exclude-rules: | ||
# - path: info/as_parser_test\.go | ||
# linters: | ||
# - lll # Test code is allowed to have long lines | ||
# - path: asconfig/generate_test\.go | ||
# linters: | ||
# - dupl # Test code is allowed to have duplicate code | ||
# - path: asconfig/asconfig_test\.go | ||
# linters: | ||
# - dupl # Test code is allowed to have duplicate code | ||
# - path: '(.+)test\.go' | ||
# linters: | ||
# - govet # Test code field alignment for sake of space is not a concern | ||
# - linters: | ||
# - lll | ||
# source: "// " |
Oops, something went wrong.