Skip to content

ci: fix output dir

ci: fix output dir #8

Workflow file for this run

name: CI
on:
push:
branches:
- main
- devops-1286
tags-ignore:
- "**"
paths-ignore:
- "**/CHANGELOG.md"
- "**/package.json"
pull_request:
workflow_dispatch:
jobs:
build-publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
token: ${{ secrets.GH_TOKEN || secrets.GITHUB_TOKEN }}
fetch-depth: 0
persist-credentials: false
- name: Semantic Release
uses: cycjimmy/semantic-release-action@v3
id: semantic
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN || secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }}
SEMANTIC_RELEASE_PACKAGE: ${{ github.event.repository.name }}
with:
branch: main
semantic_version: 19
extra_plugins: |
@semantic-release/changelog
@semantic-release/git
@semantic-release/exec
conventional-changelog-conventionalcommits
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Docker Meta
id: meta
uses: docker/metadata-action@v3
with:
images: |
hirosystems/${{ github.event.repository.name }}
tags: |
type=ref,event=branch
type=ref,event=pr
type=semver,pattern={{version}},value=${{ steps.semantic.outputs.new_release_version }},enable=${{ steps.semantic.outputs.new_release_version != '' }}
type=semver,pattern={{major}}.{{minor}},value=${{ steps.semantic.outputs.new_release_version }},enable=${{ steps.semantic.outputs.new_release_version != '' }}
type=raw,value=latest,enable={{is_default_branch}}
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
- name: Create artifact directory
run: mkdir -p /tmp/artifacts
- name: Build/Tag/Push Image
uses: docker/build-push-action@v2
with:
context: .
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
# Only push if (there's a new release on main branch, or if building a non-main branch) and (Only run on non-PR events or only PRs that aren't from forks)
push: ${{ (github.ref != 'refs/heads/main' || steps.semantic.outputs.new_release_version != '') && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) }}
outputs: type=docker,dest=/tmp/artifacts/myimage.tar
#
# - name: Save docker artifact
# uses: actions/upload-artifact@v3
# with:
# name: docker-image
# path: /tmp/artifacts/myimage.tar
k8s:
runs-on: ubuntu-latest
needs: build-publish
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Build k8s cluster
uses: nolar/setup-k3d-k3s@v1
with:
version: v1.25
k3d-name: kube
k3d-args: "--no-lb --no-rollback --k3s-arg --disable=traefik,servicelb,metrics-server@server:*"
- name: Pull docker image artifact from previous docker job
uses: actions/download-artifact@v3
with:
name: docker-image
path: /tmp/artifacts
- name: Load image
run: |
docker load --input /tmp/artifacts/myimage.tar
docker image ls -a
# code-coverage:
# name: Rust project
# runs-on: ubuntu-latest
# steps:
# - name: Checkout repository
# uses: actions/checkout@v2
#
# - name: Install stable toolchain
# uses: actions-rs/toolchain@v1
# with:
# toolchain: stable
# override: true
#
# - name: Run cargo-tarpaulin
# uses: actions-rs/[email protected]
# with:
# version: '0.15.0'
# args: '-- --test-threads 1'