mirror of
				https://github.com/StackExchange/dnscontrol.git
				synced 2024-05-11 05:55:12 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			104 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
on:
 | 
						|
  release:
 | 
						|
    types: [published]
 | 
						|
 | 
						|
name: release
 | 
						|
jobs:
 | 
						|
  release:
 | 
						|
    name: release
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    steps:
 | 
						|
 | 
						|
    - name: Get release
 | 
						|
      id: get_release
 | 
						|
      uses: bruceadams/get-release@v1.3.2
 | 
						|
      env:
 | 
						|
        GITHUB_TOKEN: ${{ github.token }}
 | 
						|
 | 
						|
    - name: Checkout repo
 | 
						|
      uses: actions/checkout@v3
 | 
						|
      with:
 | 
						|
        fetch-depth: 0
 | 
						|
 | 
						|
    - name: Set up Go
 | 
						|
      uses: actions/setup-go@v4
 | 
						|
      with:
 | 
						|
        go-version: ^1.21
 | 
						|
 | 
						|
    - name: Build binaries
 | 
						|
      run: go run build/build.go
 | 
						|
      env:
 | 
						|
        CGO_ENABLED: 0
 | 
						|
 | 
						|
    - name: Get release from tag
 | 
						|
      run: echo ::set-output name=RELEASE_VERSION::$(echo ${GITHUB_REF:11})
 | 
						|
      id: versioner
 | 
						|
 | 
						|
    - name: Create target directory
 | 
						|
      run: mkdir -p usr/bin
 | 
						|
 | 
						|
    - name: Copy Linux version to dnscontrol
 | 
						|
      run: cp dnscontrol-Linux usr/bin/dnscontrol
 | 
						|
 | 
						|
    - name: Bundle RPM
 | 
						|
      uses: bpicode/github-action-fpm@master
 | 
						|
      with:
 | 
						|
        fpm_args: 'usr/'
 | 
						|
        fpm_opts: '-n dnscontrol -t rpm -s dir -v ${{ steps.versioner.outputs.RELEASE_VERSION }} --license "The MIT License (MIT)" --url "https://dnscontrol.org/" --description "DNSControl: Infrastructure as Code for DNS Zones"'
 | 
						|
 | 
						|
    - name: Bundle DEB
 | 
						|
      uses: bpicode/github-action-fpm@master
 | 
						|
      with:
 | 
						|
        fpm_args: 'usr/'
 | 
						|
        fpm_opts: '-n dnscontrol -t deb -s dir -v ${{ steps.versioner.outputs.RELEASE_VERSION }} --license "The MIT License (MIT)" --url "https://dnscontrol.org/" --description "DNSControl: Infrastructure as Code for DNS Zones"'
 | 
						|
 | 
						|
    - name: Upload dnscontrol-Darwin
 | 
						|
      uses: actions/upload-release-asset@v1
 | 
						|
      env:
 | 
						|
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
						|
      with:
 | 
						|
        upload_url: ${{ steps.get_release.outputs.upload_url }}
 | 
						|
        asset_path: ./dnscontrol-Darwin
 | 
						|
        asset_name: dnscontrol-Darwin
 | 
						|
        asset_content_type: application/octet-stream
 | 
						|
 | 
						|
    - name: Upload dnscontrol-Linux
 | 
						|
      uses: actions/upload-release-asset@v1
 | 
						|
      env:
 | 
						|
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
						|
      with:
 | 
						|
        upload_url: ${{ steps.get_release.outputs.upload_url }}
 | 
						|
        asset_path: ./dnscontrol-Linux
 | 
						|
        asset_name: dnscontrol-Linux
 | 
						|
        asset_content_type: application/octet-stream
 | 
						|
 | 
						|
    - name: Upload dnscontrol.exe
 | 
						|
      uses: actions/upload-release-asset@v1
 | 
						|
      env:
 | 
						|
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
						|
      with:
 | 
						|
        upload_url: ${{ steps.get_release.outputs.upload_url }}
 | 
						|
        asset_path: ./dnscontrol.exe
 | 
						|
        asset_name: dnscontrol.exe
 | 
						|
        asset_content_type: application/octet-stream
 | 
						|
 | 
						|
    - name: Upload RPM
 | 
						|
      uses: actions/upload-release-asset@v1
 | 
						|
      env:
 | 
						|
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
						|
      with:
 | 
						|
        upload_url: ${{ steps.get_release.outputs.upload_url }}
 | 
						|
        asset_path: dnscontrol-${{ steps.versioner.outputs.RELEASE_VERSION }}-1.x86_64.rpm
 | 
						|
        asset_name: dnscontrol-${{ steps.versioner.outputs.RELEASE_VERSION }}-1.x86_64.rpm
 | 
						|
        asset_content_type: application/x-rpm
 | 
						|
 | 
						|
    - name: Upload DEB
 | 
						|
      uses: actions/upload-release-asset@v1
 | 
						|
      env:
 | 
						|
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
						|
      with:
 | 
						|
        upload_url: ${{ steps.get_release.outputs.upload_url }}
 | 
						|
        asset_path: dnscontrol_${{ steps.versioner.outputs.RELEASE_VERSION }}_amd64.deb
 | 
						|
        asset_name: dnscontrol_${{ steps.versioner.outputs.RELEASE_VERSION }}_amd64.deb
 | 
						|
        asset_content_type: application/vnd.debian.binary-package
 |