diff --git a/.github/workflows/hugo.yaml b/.github/workflows/hugo.yaml new file mode 100644 index 00000000..a3a6f49a --- /dev/null +++ b/.github/workflows/hugo.yaml @@ -0,0 +1,78 @@ +# Sample workflow for building and deploying a Hugo site to GitHub Pages +name: Deploy Hugo site to Pages + +on: + # Runs on pushes targeting the default branch + push: + branches: + - master + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +# Default to bash +defaults: + run: + shell: bash + +jobs: + # Build job + build: + runs-on: ubuntu-latest + env: + HUGO_VERSION: 0.115.4 + steps: + - name: Install Hugo CLI + run: | + wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \ + && sudo dpkg -i ${{ runner.temp }}/hugo.deb + - name: Install Dart Sass + run: sudo snap install dart-sass + - name: Checkout + uses: actions/checkout@v3 + with: + submodules: recursive + fetch-depth: 0 + - name: Setup Pages + id: pages + uses: actions/configure-pages@v3 + - name: Install Node.js dependencies + run: "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true" + - name: Build with Hugo + env: + # For maximum backward compatibility with Hugo modules + HUGO_ENVIRONMENT: production + HUGO_ENV: production + run: | + hugo \ + --gc \ + --minify \ + --baseURL "${{ steps.pages.outputs.base_url }}/" + - name: Upload artifact + uses: actions/upload-pages-artifact@v1 + with: + path: ./public + + # Deployment job + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2 \ No newline at end of file diff --git a/.github/workflows/multi-platform.yml b/.github/workflows/multi-platform.yml deleted file mode 100644 index f9861dbc..00000000 --- a/.github/workflows/multi-platform.yml +++ /dev/null @@ -1,120 +0,0 @@ -name: Multi-Platform Build and Release -on: - release: - types: [published] - push: - tags: - - 'v*' - branches: - - 'master' - paths-ignore: - - 'docs/**' - # - '.github/**' - workflow_dispatch: - inputs: - release-ver: - description: 'Stable Release Version' - required: true - default: 'v' - stripped-release-ver: - description: 'Stripped Stable Release Version' - required: true - default: '' - release-channel: - description: 'Release Channel' - required: true - default: 'edge' - -env: - GIT_VERSION: ${{github.event.inputs.release-ver}} - GIT_STRIPPED_VERSION: ${{github.event.inputs.stripped-release-ver}} - RELEASE_CHANNEL: ${{github.event.inputs.release-channel}} - GIT_TAG: ${{ github.event.release.tag_name }} - -jobs: - print-inputs: - runs-on: ubuntu-latest - steps: - - - run: | - echo "Dispatched GIT_VERSION: ${{github.event.inputs.release-ver}}" - echo " Dispatched GIT_STRIPPED_VERSION: ${{github.event.inputs.stripped-release-ver}}" - echo "Env RELEASE_CHANNEL: ${{env.RELEASE_CHANNEL}}" - echo "Env GIT_VERSION: ${{env.GIT_VERSION}}" - echo "Env GIT_STRIPPED_VERSION: ${{env.GIT_STRIPPED_VERSION}}" - echo "Env GIT_TAG: ${{ github.event.release.tag_name }}" - - docker-build: - runs-on: ubuntu-latest - steps: - - - name: Checkout repo - uses: actions/checkout@v3 - - - name: Identify Release Values - if: "${{ github.event.inputs.release-ver}} != 'v' }}" - run: | - # GIT_REF=`git symbolic-ref HEAD` - if [[ $GIT_TAG = refs/tags* ]] - then - echo RELEASE_CHANNEL=stable >> $GITHUB_ENV - else - echo RELEASE_CHANNEL=edge >> $GITHUB_ENV - fi - echo "Release channel determined to be $RELEASE_CHANNEL" - LATEST_VERSION=$(git ls-remote --tags | tail -1 | cut -f2 | sed 's/refs\/tags\///g') >> $GITHUB_ENV - GIT_VERSION=$(git ls-remote --tags | tail -1 | cut -f2 | sed 's/refs\/tags\///g') >> $GITHUB_ENV - # GIT_VERSION=$(git describe --tags `git rev-list --tags --max-count=1` --always) - GIT_STRIPPED_VERSION=$(git ls-remote --tags | tail -1 | cut -f2 | sed 's/refs\/tags\///g' | cut -c2-) - echo "GIT_LATEST=$LATEST_VERSION" >> $GITHUB_ENV - echo "GIT_VERSION=$GIT_VERSION" >> $GITHUB_ENV - echo "GIT_STRIPPED_VERSION=$GIT_STRIPPED_VERSION" >> $GITHUB_ENV - shell: bash - - - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - - - name: Docker Meta - id: meta - uses: docker/metadata-action@v3 - with: - images: ${{ secrets.IMAGE_NAME }} - flavor: | - latest=false - tags: | - type=raw,value=${{env.RELEASE_CHANNEL}}-{{sha}} - type=semver,pattern={{version}},value=${{env.GIT_STRIPPED_VERSION}} - type=raw,pattern={{version}},value=${{env.RELEASE_CHANNEL}}-${{env.GIT_VERSION}} - type=raw,value=${{env.RELEASE_CHANNEL}}-{{tag}},enable=${{ startsWith(github.ref, 'refs/tags/v') }} - type=raw,value=${{env.RELEASE_CHANNEL}}-latest - type=semver,pattern={{version}},value=${{env.RELEASE_CHANNEL}}-${{env.GIT_VERSION}},enable=${{ startsWith(github.ref, 'refs/tags/v') }} - - - name: Login to DockerHub - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Build and Push - uses: docker/build-push-action@v2 - with: - context: "{{defaultContext}}" - push: true - build-args: | - GIT_STRIPPED_VERSION=${{env.GIT_STRIPPED_VERSION}} - GIT_VERSION=${{env.GIT_VERSION}} - RELEASE_CHANNEL=${{env.RELEASE_CHANNEL}} - tags: ${{ steps.meta.outputs.tags }} - platforms: linux/amd64,linux/arm64 - - - name: Docker Hub Description - uses: peter-evans/dockerhub-description@v3 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - repository: meshery/meshery-docker-extension - readme-filepath: /install/docker-extension/README.md