Skip to content

test

test #12

Workflow file for this run

on:
push:
branches:
- main
pull_request:
name: CI
jobs:
test:
runs-on: ubuntu-latest
container: alpine:edge # go1.19 needs > alpine 3.15
steps:
- name: checkout
uses: actions/checkout@v3
- name: add dependencies
run: apk add go git
- name: install ctags
run: ./install-ctags-alpine.sh
# Needed for submodule tests in gitindex
- name: git protocol.file.allow
run: git config --global --replace-all protocol.file.allow always
- name: test
run: go test ./...
shellcheck:
name: shellcheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run ShellCheck
uses: ludeeus/[email protected]
shfmt:
name: shfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: reviewdog/[email protected]
with:
filter_mode: "nofilter"
fail_on_error: "true"
shfmt_flags: "-i 2 -ci -bn"
# lint-protos:
# name: "buf lint"
# runs-on: ubuntu-latest
# steps:
# # Run `git checkout`
# - uses: actions/checkout@v2
# # Install the `buf` CLI
# - uses: bufbuild/buf-setup-action@v1
# with:
# github_token: ${{ secrets.GH_TOKEN }}
# # Lint your Protobuf sources
# - run: .github/workflows/buf-lint-check.sh
# format-protos:
# name: "buf format"
# runs-on: ubuntu-latest
# steps:
# # Run `git checkout`
# - uses: actions/checkout@v2
# # Install the `buf` CLI
# - uses: bufbuild/buf-setup-action@v1
# with:
# github_token: ${{ secrets.GH_TOKEN }}
# # Check to see if the Protobuf sources are formatted
# - run: .github/workflows/buf-format-check.sh
# generate-protos:
# name: "buf generate"
# runs-on: ubuntu-latest
# steps:
# # Run `git checkout`
# - uses: actions/checkout@v2
# # Install the `buf` CLI
# - uses: bufbuild/buf-setup-action@v1
# with:
# github_token: ${{ secrets.GH_TOKEN }}
# # Check if the generated code is up-to-date
# - run: .github/workflows/buf-generate-check.sh
# We build a shared docker image called "zoekt". This is not pushed, but is
# used for creating the indexserver and webserver images.
docker:
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
needs:
- "test"
- "shellcheck"
steps:
- name: checkout
uses: actions/checkout@v3
- name: version
id: version
run: .github/workflows/docker-version.sh
- name: build-zoekt
uses: docker/build-push-action@v1
with:
repository: zoekt
tags: "latest"
add_git_labels: "true"
push: "false"
build_args: VERSION=${{ steps.version.outputs.value }}
- name: build-push-webserver
uses: docker/build-push-action@v1
with:
repository: xvandish/zoekt-webserver
tags: ${{ steps.version.outputs.value }},latest
dockerfile: Dockerfile.webserver
add_git_labels: "true"
registry: "ghcr.io"
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: build-push-indexserver
uses: docker/build-push-action@v1
with:
repository: xvandish/zoekt-indexserver
tags: ${{ steps.version.outputs.value }},latest
dockerfile: Dockerfile.indexserver
add_git_labels: "true"
registry: "ghcr.io"
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}