bumping upload action #443
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: CD | |
on: | |
push: | |
branches: | |
- '*' | |
tags: | |
- 'v*.*.*' # Enforce Semantic Versioning | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
- name: Setup CI environment | |
uses: yetanalytics/actions/setup-env@v0.0.4 | |
- name: Build Bundle | |
run: make bundle | |
# Build docker for PR, tags | |
- name: Extract metadata (tags, labels) for Docker | |
id: meta | |
uses: docker/metadata-action@v4 | |
with: | |
images: yetanalytics/datasim | |
tags: | | |
type=ref,event=branch | |
type=ref,event=pr | |
type=semver,pattern={{version}} | |
type=semver,pattern={{major}}.{{minor}} | |
- name: Log in to Docker Hub | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_CI_TOKEN }} | |
- name: Build and push Docker image | |
uses: docker/build-push-action@v3 | |
with: | |
context: . | |
push: true | |
tags: ${{ steps.meta.outputs.tags }} | |
labels: ${{ steps.meta.outputs.labels }} | |
- name: Compress Bundle | |
run: | # Need to cd so that the zip file doesn't contain the parent dirs | |
cd target/bundle | |
zip -r ../../datasim-bundle.zip ./ | |
- name: Archive Bundle | |
uses: actions/upload-artifact@v4 | |
with: | |
name: datasim-bundle-artifact-${{ github.sha }} | |
path: datasim-bundle.zip | |
deploy: | |
runs-on: ubuntu-latest | |
if: ${{ github.ref_type == 'tag' }} | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Setup CD environment | |
uses: yetanalytics/action-setup-env@v1 | |
- name: Extract version | |
id: version | |
run: echo version=${GITHUB_REF#refs\/tags\/v} >> $GITHUB_OUTPUT | |
- name: Build and deploy to Clojars | |
uses: yetanalytics/action-deploy-clojars@v1 | |
with: | |
artifact-id: 'datasim' | |
version: ${{ steps.version.outputs.version }} | |
resource-dirs: '[]' | |
clojars-username: ${{ secrets.CLOJARS_USERNAME }} | |
clojars-deploy-token: ${{ secrets.CLOJARS_PASSWORD }} | |
release: | |
runs-on: ubuntu-latest | |
needs: build | |
if: ${{ github.ref_type == 'tag' }} | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Download Bundle Artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: datasim-bundle-artifact-${{ github.sha }} | |
- name: Craft Draft Release | |
uses: softprops/action-gh-release@v2 | |
with: | |
# Defaults: | |
# name: [tag name] | |
# tag_name: github.ref | |
draft: true | |
files: datasim-bundle.zip |