Skip to content

Commit

Permalink
try
Browse files Browse the repository at this point in the history
  • Loading branch information
Nickersoft committed Oct 26, 2023
1 parent 3b8db1e commit 9fb8414
Show file tree
Hide file tree
Showing 5 changed files with 142 additions and 61 deletions.
99 changes: 99 additions & 0 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
name: Build & Test

on:
push:
branches: [main]
pull_request:
branches: [main]

jobs:
linux:
name: Build (Linux)
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup asdf
uses: asdf-vm/actions/setup@v2
- name: Cache asdf
id: cache-asdf
uses: actions/cache@v3
with:
path: |
/home/runner/.asdf
key: ${{ runner.os }}-asdf-${{ hashFiles('**/.tool-versions') }}
restore-keys: |
${{ runner.os }}-asdf-
- name: Install dependencies in .tool-versions
uses: asdf-vm/actions/install@v2
- name: Install cross-compiler toolchain
run: sudo apt-get -y install gcc-aarch64-linux-gnu
- name: Run build
run: just build-all --id linux
- uses: actions/upload-artifact@v3
if: ${{ failure() }}
with:
name: code
path: /home/runner/work/odict
darwin:
name: Build (Darwin)
runs-on: macos-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup asdf
uses: asdf-vm/actions/setup@v2
- name: Cache asdf
id: cache-asdf
uses: actions/cache@v3
with:
path: |
/home/runner/.asdf
key: ${{ runner.os }}-asdf-${{ hashFiles('**/.tool-versions') }}
restore-keys: |
${{ runner.os }}-asdf-
- name: Install dependencies in .tool-versions
uses: asdf-vm/actions/install@v2
- name: Run build
run: just build-all --id darwin
- uses: actions/upload-artifact@v3
if: ${{ failure() }}
with:
name: code
path: /home/runner/work/odict
test:
name: Test
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup asdf
uses: asdf-vm/actions/setup@v2
- name: Cache asdf
id: cache-asdf
uses: actions/cache@v3
with:
path: |
/home/runner/.asdf
key: ${{ runner.os }}-asdf-${{ hashFiles('**/.tool-versions') }}
restore-keys: |
${{ runner.os }}-asdf-
- name: Cache Poetry dependencies
uses: actions/cache@v3
with:
path: |
/home/runner/.venv
key: ${{ runner.os }}-poetry-${{ hashFiles('**/python/poetry.lock') }}
restore-keys: |
${{ runner.os }}-poetry-
- name: Install dependencies in .tool-versions
uses: asdf-vm/actions/install@v2
- name: Run tests
env:
POETRY_VIRTUALENVS_IN_PROJECT: true
run: just test
- uses: actions/upload-artifact@v3
if: ${{ failure() }}
with:
name: code
path: /home/runner/work/odict
47 changes: 0 additions & 47 deletions .github/workflows/test.yml

This file was deleted.

41 changes: 31 additions & 10 deletions .goreleaser.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,29 +12,50 @@ git:
- python-*
- jvm-*

env:
- CGO_ENABLED=1

builds:
- id: odict
- id: darwin
binary: odict
main: ./odict.go
ldflags:
- -X 'github.com/TheOpenDictionary/odict/cli.version={{.Version}}'
goos:
- linux
- darwin
- windows
env:
- CGO_ENABLED=1
- id: single
flags:
- -trimpath
- id: windows
binary: odict
main: ./odict.go
ldflags:
- -X 'github.com/TheOpenDictionary/odict/cli.version={{.Version}}'
goos:
- windows
flags:
- -trimpath
- id: linux
binary: odict
main: ./odict.go
ldflags:
- -X 'github.com/TheOpenDictionary/odict/cli.version={{.Version}}'
no_unique_dist_dir: true
env:
- CGO_ENABLED=1
goos:
- linux
flags:
- -trimpath
overrides:
- goos: linux
goarch: arm64
env:
- CC=aarch64-linux-gnu-gcc
- goos: linux
goarch: amd64
env:
- CC=gcc

archives:
- builds:
- odict
- darwin

brews:
- name: odict
Expand Down
6 changes: 6 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
ARG GORELEASER_CROSS_VERSION 0.21.3

FROM ghcr.io/goreleaser/goreleaser-cross:${GOLANG_CROSS_VERSION} AS goreleaser-cross

RUN apt-get update -y && apt-get upgrade -y
RUN apt-get install -y pkg-config libxml2-dev libicu-dev gcc-multilib
10 changes: 6 additions & 4 deletions justfile
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
GOLANG_CROSS_VERSION := "v1.21.3"

# ---------------------------------------------------------------------------- #
# Global #
# ---------------------------------------------------------------------------- #

@deps: xsd
@deps:
asdf install > /dev/null
go install golang.org/x/tools/cmd/goimports@latest

@build: deps (cli "schema") sync
@build: deps xsd (cli "schema") sync
goreleaser build --id single --clean --snapshot --single-target

@build-all +args="": deps (cli "schema") sync
goreleaser build --id odict --clean {{args}}
goreleaser build --snapshot --clean

@schema: (go "schema") (cli "schema") (js "schema")

Expand All @@ -20,7 +22,7 @@
@run +args="":
go run odict.go {{args}}

@test: deps (go "test") (jvm "test") (python "test") (js "test") clean
@test: deps xsd (go "test") (jvm "test") (python "test") (js "test") clean

@clean: (python "clean") (jvm "clean") (js "clean")
rm -rf **/*.odict
Expand Down

0 comments on commit 9fb8414

Please sign in to comment.