Add initial version of the action
This commit is contained in:
		
							parent
							
								
									28994ef10d
								
							
						
					
					
						commit
						92e128b97c
					
				|  | @ -0,0 +1,14 @@ | ||||||
|  | FROM ubuntu:20.04 | ||||||
|  | 
 | ||||||
|  | RUN apk update && apk upgrade && \ | ||||||
|  |     apk add wget | ||||||
|  | 
 | ||||||
|  | RUN wget https://dl.min.io/client/mc/release/linux-amd64/mc \ | ||||||
|  |     && chmod +x mc \ | ||||||
|  |     && ./mc --help | ||||||
|  | 
 | ||||||
|  | # Copies your code file from your action repository to the filesystem path `/` of the container | ||||||
|  | COPY entrypoint.sh /entrypoint.sh | ||||||
|  | 
 | ||||||
|  | # Code file to execute when the docker container starts up (`entrypoint.sh`) | ||||||
|  | ENTRYPOINT ["/entrypoint.sh"] | ||||||
|  | @ -0,0 +1,21 @@ | ||||||
|  | MIT License | ||||||
|  | 
 | ||||||
|  | Copyright (c) 2020 Haralan Dobrev | ||||||
|  | 
 | ||||||
|  | Permission is hereby granted, free of charge, to any person obtaining a copy | ||||||
|  | of this software and associated documentation files (the "Software"), to deal | ||||||
|  | in the Software without restriction, including without limitation the rights | ||||||
|  | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||||
|  | copies of the Software, and to permit persons to whom the Software is | ||||||
|  | furnished to do so, subject to the following conditions: | ||||||
|  | 
 | ||||||
|  | The above copyright notice and this permission notice shall be included in all | ||||||
|  | copies or substantial portions of the Software. | ||||||
|  | 
 | ||||||
|  | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||||
|  | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||||
|  | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||||
|  | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||||
|  | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||||
|  | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||||
|  | SOFTWARE. | ||||||
|  | @ -0,0 +1,58 @@ | ||||||
|  | # Minio Deploy GitHub Action | ||||||
|  | 
 | ||||||
|  | Run [minio client][] in GitHub Actions to deploy files to Minio object storage. | ||||||
|  | 
 | ||||||
|  | It uses the `mc mirror --overwrite` command to deploy. | ||||||
|  | 
 | ||||||
|  | ## Usage | ||||||
|  | 
 | ||||||
|  | Put the following step in your workflow: | ||||||
|  | 
 | ||||||
|  | ```yml | ||||||
|  | - name: Minio Deploy | ||||||
|  | uses: hkdobrev/minio-deploy-action@v1 | ||||||
|  | with: | ||||||
|  |   endpoint: ${{ secrets.MINIO_ENDPOINT }} | ||||||
|  |   access_key: ${{ secrets.MINIO_ACCESS_KEY }} | ||||||
|  |   secret_key: ${{ secrets.MINIO_SECRET_KEY }} | ||||||
|  |   bucket: 'mybucket' | ||||||
|  |   # Optional inputs with their defaults: | ||||||
|  |   source_dit: 'public' | ||||||
|  |   target_dir: '/' | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | Workflow example: | ||||||
|  | 
 | ||||||
|  | ```yml | ||||||
|  | name: Deploy | ||||||
|  | 
 | ||||||
|  | on: | ||||||
|  |   pull_request: | ||||||
|  |     types: [open, synchronize] | ||||||
|  |   push: | ||||||
|  |     branches: | ||||||
|  |       - master | ||||||
|  | 
 | ||||||
|  | jobs: | ||||||
|  |   build: | ||||||
|  |     name: Deploy | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     steps: | ||||||
|  |       - uses: actions/checkout@v1 | ||||||
|  | 
 | ||||||
|  |       - name: Minio Deploy | ||||||
|  |         uses: hkdobrev/minio-deploy-action@v1 | ||||||
|  |         with: | ||||||
|  |           endpoint: ${{ secrets.MINIO_ENDPOINT }} | ||||||
|  |           access_key: ${{ secrets.MINIO_ACCESS_KEY }} | ||||||
|  |           secret_key: ${{ secrets.MINIO_SECRET_KEY }} | ||||||
|  |           bucket: 'mybucket' | ||||||
|  |           source_dit: 'public' | ||||||
|  |           target_dir: '/' | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ## License | ||||||
|  | 
 | ||||||
|  | Licensed under the MIT license. See [LICENSE](LICENSE). | ||||||
|  | 
 | ||||||
|  | [minio client]: https://docs.min.io/docs/minio-client-quickstart-guide | ||||||
|  | @ -0,0 +1,37 @@ | ||||||
|  | name: 'Minio Deploy' | ||||||
|  | description: 'Deploy to Minio Storage' | ||||||
|  | author: 'hkdobrev' | ||||||
|  | inputs: | ||||||
|  |   endpoint: | ||||||
|  |     description: 'Minio endpoint of object storage host' | ||||||
|  |     required: true | ||||||
|  |   access_key: | ||||||
|  |     description: 'Minio access key (username)' | ||||||
|  |     required: true | ||||||
|  |   secret_key: | ||||||
|  |     description: 'Minio secret key (password)' | ||||||
|  |     required: true | ||||||
|  |   bucket: | ||||||
|  |     description: 'Set the target minio bucket for deployment.' | ||||||
|  |     required: true | ||||||
|  |   source_dir: | ||||||
|  |     description: 'Set an input directory for deployment.' | ||||||
|  |     required: false | ||||||
|  |     default: 'public' | ||||||
|  |   target_dir: | ||||||
|  |     description: 'Set a target directory for deployment (with a leading slash).' | ||||||
|  |     required: false | ||||||
|  |     default: '/' | ||||||
|  | runs: | ||||||
|  |   using: 'docker' | ||||||
|  |   image: 'Dockerfile' | ||||||
|  |   env: | ||||||
|  |     MINIO_ENDPOINT: ${{ inputs.endpoint }} | ||||||
|  |     MINIO_ACCESS_KEY: ${{ inputs.access_key }} | ||||||
|  |     MINIO_SECRET_KEY: ${{ inputs.secret_key }} | ||||||
|  |   args: | ||||||
|  |     - ${{ inputs.source_dir }} | ||||||
|  |     - '${{ inputs.bucket }}${{ inputs.target_dir }}' | ||||||
|  | branding: | ||||||
|  |   icon: 'upload-cloud' | ||||||
|  |   color: 'red' | ||||||
|  | @ -0,0 +1,5 @@ | ||||||
|  | #!/usr/bin/env bash | ||||||
|  | 
 | ||||||
|  | mc alias set deploy $MINIO_ENDPOINT $MINIO_ACCESS_KEY $MINIO_SECRET_KEY | ||||||
|  | 
 | ||||||
|  | mc mirror --overwrite $1 "deploy/$2" | ||||||
		Loading…
	
		Reference in New Issue
	
	 Haralan Dobrev
						Haralan Dobrev