Update deps #646
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
name: CI | |
on: | |
pull_request: | |
branches: | |
- "*" | |
push: | |
branches: | |
- master | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
concurrency: | |
group: '${{ github.head_ref || github.ref }}' | |
cancel-in-progress: true | |
jobs: | |
build: | |
name: Build | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Set up Go 1.23 | |
uses: actions/setup-go@v1 | |
with: | |
go-version: '1.23' | |
id: go | |
- uses: actions/checkout@v2 | |
- name: Set up QEMU | |
id: qemu | |
uses: docker/setup-qemu-action@v1 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v1 | |
- name: Prepare Host | |
run: | | |
sudo apt-get -qq update || true | |
sudo apt-get install -y bzr | |
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.21.1/bin/linux/amd64/kubectl | |
chmod +x ./kubectl | |
sudo mv ./kubectl /usr/local/bin/kubectl | |
# - name: Run checks | |
# run: | | |
# make ci | |
- name: Log in to the GitHub Container registry | |
uses: docker/login-action@v2 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Publish to the GitHub Container registry | |
id: publish-to-ghcr | |
env: | |
REGISTRY: ghcr.io/${{ github.repository_owner }} | |
APPSCODE_ENV: prod | |
run: | | |
make version >> $GITHUB_ENV | |
make push | |
kubernetes: | |
name: Kubernetes | |
runs-on: ubuntu-24.04 | |
needs: build | |
strategy: | |
matrix: | |
k8s: [v1.25.8] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Create Kubernetes ${{ matrix.k8s }} cluster | |
id: kind | |
uses: engineerd/[email protected] | |
with: | |
version: v0.25.0 | |
config: hack/kubernetes/kind.yaml | |
image: kindest/node:${{ matrix.k8s }} | |
- name: Prepare cluster for testing | |
id: local-path | |
run: | | |
echo "waiting for nodes to be ready ..." | |
kubectl wait --for=condition=Ready nodes --all --timeout=5m | |
kubectl get nodes | |
echo | |
kubectl version | |
echo | |
echo "install helm 3" | |
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash | |
- name: Check out installer | |
run: | | |
cd .. | |
git clone https://github.com/open-viz/installer.git | |
cd installer | |
git checkout master | |
- name: Run e2e tests | |
env: | |
REGISTRY: ghcr.io/${{ github.repository_owner }} | |
TEST_CREDENTIALS: ${{ secrets.TEST_CREDENTIALS }} | |
GOOGLE_SERVICE_ACCOUNT_JSON_KEY: ${{ secrets.GOOGLE_SERVICE_ACCOUNT_JSON_KEY }} | |
run: | | |
echo "preparing test credentials" | |
mkdir -p hack/config | |
echo -n "$TEST_CREDENTIALS" > hack/config/.env | |
echo >> hack/config/.env | |
echo "GOOGLE_SERVICE_ACCOUNT_JSON_KEY=$(echo $GOOGLE_SERVICE_ACCOUNT_JSON_KEY)" >> hack/config/.env | |
make install || ( kubectl describe deployment -n openviz grafana-tools; kubectl logs -n openviz deployment/grafana-tools; exit 1; ) | |
echo | |
make e2e-tests | |
cleanup: | |
name: Cleanup | |
runs-on: ubuntu-24.04 | |
if: ${{ always() }} | |
needs: [build, kubernetes] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install gh-tools | |
run: | | |
curl -fsSL -O https://github.com/appscodelabs/gh-tools/releases/download/v0.2.14/gh-tools-linux-amd64 | |
chmod +x gh-tools-linux-amd64 | |
sudo mv gh-tools-linux-amd64 /usr/local/bin/gh-tools | |
- name: Set tags as GITHUB_ENV | |
env: | |
REGISTRY: ghcr.io/${{ github.repository_owner }} | |
run: | | |
make version >> $GITHUB_ENV | |
- name: Delete CI Docker images | |
env: | |
GH_TOOLS_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
echo "deleting ghcr.io/${{ github.repository_owner }}/grafana-tools:${{ env.TAG_PROD }}" | |
gh-tools delete-package \ | |
--org=${{ github.repository_owner }} \ | |
--pkg=grafana-tools \ | |
--tag=${{ env.TAG_PROD }} || true | |
echo "deleting ghcr.io/${{ github.repository_owner }}/grafana-tools:${{ env.TAG_DBG }}" | |
gh-tools delete-package \ | |
--org=${{ github.repository_owner }} \ | |
--pkg=grafana-tools \ | |
--tag=${{ env.TAG_DBG }} || true |