github.com/siglens/siglens@v0.0.0-20240328180423-f7ce9ae441ed/.github/workflows/publish-prod-images.yml (about) 1 name: siglens-docker-release 2 on: 3 push: 4 branches: 5 - 'main' 6 jobs: 7 siglens-docker: 8 runs-on: ubuntu-latest 9 environment: build-environment 10 permissions: 11 id-token: write 12 contents: read 13 steps: 14 - 15 name: Checkout 16 uses: actions/checkout@v3 17 - 18 uses: satackey/action-docker-layer-caching@v0.0.11 19 # Ignore the failure of a step and avoid terminating the job. 20 continue-on-error: true 21 - name: Login to Docker Hub 22 uses: docker/login-action@v1 23 with: 24 username: ${{ secrets.DOCKERHUB_USERNAME }} 25 password: ${{ secrets.DOCKERHUB_TOKEN }} 26 - 27 name: Get Version number 28 id: get-version 29 run: | 30 TAG=$(sed -n 's/const SigLensVersion = "\(.*\)"/\1/p' pkg/config/version.go) 31 echo "TAG=$TAG" >> $GITHUB_ENV 32 cat $GITHUB_ENV 33 - name: Extract metadata (tags, labels) for Docker 34 id: meta 35 uses: docker/metadata-action@v5 36 with: 37 images: siglens/siglens 38 tags: | 39 type=raw,value=${{ env.TAG }} 40 type=raw,value=latest 41 - 42 name: Set up QEMU 43 uses: docker/setup-qemu-action@v2 44 - 45 name: Set up Docker Buildx 46 uses: docker/setup-buildx-action@v2 47 - 48 name: Build and push 49 uses: docker/build-push-action@v3 50 with: 51 context: . 52 file: Dockerfile 53 push: true 54 platforms: linux/amd64,linux/arm64 55 tags: ${{ steps.meta.outputs.tags }} 56 57 sigscalr-release-assets: 58 runs-on: ubuntu-latest 59 environment: build-environment 60 permissions: 61 id-token: write 62 contents: read 63 steps: 64 - 65 name: Checkout 66 uses: actions/checkout@v3 67 - 68 name: Setup go 69 uses: actions/setup-go@v3 70 with: 71 go-version: '>=1.18.0' 72 - 73 name: version 74 run: | 75 RELEASE_TAG=$(sed -n 's/const SigLensVersion = "\(.*\)"/\1/p' pkg/config/version.go) 76 echo "RELEASE_TAG=$RELEASE_TAG" >> $GITHUB_ENV 77 cat $GITHUB_ENV 78 - name: release 79 uses: actions/create-release@v1 80 id: create_release 81 with: 82 draft: false 83 prerelease: false 84 release_name: ${{ env.RELEASE_TAG }} 85 tag_name: ${{ env.RELEASE_TAG }} 86 env: 87 GITHUB_TOKEN: ${{ secrets.SL_GITHUB_TOKEN }} 88 89 - name: Upload Release Asset - server.yaml 90 id: upload-release-asset-serverConfig 91 uses: actions/upload-release-asset@v1 92 env: 93 GITHUB_TOKEN: ${{ secrets.SL_GITHUB_TOKEN }} 94 with: 95 upload_url: ${{ steps.create_release.outputs.upload_url }} 96 asset_path: server.yaml 97 asset_name: server.yaml 98 asset_content_type: application/octet-stream 99 - name: Upload Release Asset - playground.yaml 100 id: upload-release-asset-playgroundConfig 101 uses: actions/upload-release-asset@v1 102 env: 103 GITHUB_TOKEN: ${{ secrets.SL_GITHUB_TOKEN }} 104 with: 105 upload_url: ${{ steps.create_release.outputs.upload_url }} 106 asset_path: playground.yaml 107 asset_name: playground.yaml 108 asset_content_type: application/octet-stream 109 - name: Upload Release Asset - Install using docker script 110 id: upload-release-asset-InstallDockerScripts 111 uses: actions/upload-release-asset@v1 112 env: 113 GITHUB_TOKEN: ${{ secrets.SL_GITHUB_TOKEN }} 114 with: 115 upload_url: ${{ steps.create_release.outputs.upload_url }} 116 asset_path: install_with_docker.sh 117 asset_name: install_with_docker.sh 118 asset_content_type: application/octet-stream 119 - name: Upload Release Asset - Install using Docker/Podman script 120 id: upload-release-asset-InstallDockerPodmanScripts 121 uses: actions/upload-release-asset@v1 122 env: 123 GITHUB_TOKEN: ${{ secrets.SL_GITHUB_TOKEN }} 124 with: 125 upload_url: ${{ steps.create_release.outputs.upload_url }} 126 asset_path: install.sh 127 asset_name: install.sh 128 asset_content_type: application/octet-stream 129 - name: Upload Release Asset - docker-compose.yml 130 id: upload-release-asset-DockerCompose 131 uses: actions/upload-release-asset@v1 132 env: 133 GITHUB_TOKEN: ${{ secrets.SL_GITHUB_TOKEN }} 134 with: 135 upload_url: ${{ steps.create_release.outputs.upload_url }} 136 asset_path: docker-compose.yml 137 asset_name: docker-compose.yml 138 asset_content_type: application/octet-stream 139 - name: Upload Release Asset - ssmetrics-otel-collector-config.yaml 140 id: upload-release-asset-SigLensMetricsOtelCollector 141 uses: actions/upload-release-asset@v1 142 env: 143 GITHUB_TOKEN: ${{ secrets.SL_GITHUB_TOKEN }} 144 with: 145 upload_url: ${{ steps.create_release.outputs.upload_url }} 146 asset_path: ssmetrics-otel-collector-config.yaml 147 asset_name: ssmetrics-otel-collector-config.yaml 148 asset_content_type: application/octet-stream 149 - name: Upload Release Asset - podman-compose.yml 150 id: upload-release-asset-PodmanCompose 151 uses: actions/upload-release-asset@v1 152 env: 153 GITHUB_TOKEN: ${{ secrets.SL_GITHUB_TOKEN }} 154 with: 155 upload_url: ${{ steps.create_release.outputs.upload_url }} 156 asset_path: podman-compose.yml 157 asset_name: podman-compose.yml 158 asset_content_type: application/octet-stream 159 - name: Upload Release Asset - podman-network_siglens.conflist 160 id: upload-release-asset-Podman-Network_SigLens 161 uses: actions/upload-release-asset@v1 162 env: 163 GITHUB_TOKEN: ${{ secrets.SL_GITHUB_TOKEN }} 164 with: 165 upload_url: ${{ steps.create_release.outputs.upload_url }} 166 asset_path: podman-network_siglens.conflist 167 asset_name: podman-network_siglens.conflist 168 asset_content_type: application/octet-stream 169