diff --git a/.github/workflows/cae.yml b/.github/workflows/cae.yml new file mode 100644 index 0000000..473a68f --- /dev/null +++ b/.github/workflows/cae.yml @@ -0,0 +1,67 @@ +name: CAE Build/Release + +on: + push: + # takes muliple branch names + branches: + - main + - '[0-9][0-9][0-9][0-9].[0-9][0-9].*' # 2021.01.x + - 'i322_gh_actions' + tags: + - '[0-9][0-9][0-9][0-9].[0-9][0-9].[0-9][0-9]' # 2021.01.01 + + workflow_dispatch: + inputs: + version: + description: 'Version' + required: true + default: 'YYYY.MINOR.MICRO' +env: + REPO_URL: ${{ github.repository }} + +jobs: + build: + # to test a feature, change the repo name to your github id + if: github.repository_owner == 'pushyamig' || github.event_name == 'workflow_dispatch' + runs-on: ubuntu-latest + steps: + + - name: Checkout code + uses: actions/checkout@v4 + + - name: Extract branch name + id: extract_branch + run: echo "BRANCH_NAME=$(basename ${{ github.ref }})" >> $GITHUB_ENV + + - name: build Docker image + run: | + docker build . --tag ghcr.io/${{ env.REPO_URL }}:${BRANCH_NAME} + + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Push Docker image to GitHub Container Registry + run: | + docker push ghcr.io/${{ env.REPO_URL }}:${BRANCH_NAME} + + release: + # Making sure that release only runs for tag pushes + if: startsWith(github.ref, 'refs/tags/') && github.repository_owner == 'pushyamig' + needs: build # This ensures the build job finishes successfully before starting this job + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Draft Release + id: create_release + uses: softprops/action-gh-release@v2 + with: + draft: true + prerelease: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + \ No newline at end of file