Support arm builds
This commit is contained in:
		
							parent
							
								
									99fd416cee
								
							
						
					
					
						commit
						19051c99ef
					
				
							
								
								
									
										17
									
								
								.github/workflows/build-test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										17
									
								
								.github/workflows/build-test.yml
									
									
									
									
										vendored
									
									
								
							| 
						 | 
					@ -15,19 +15,24 @@ jobs:
 | 
				
			||||||
      - uses: actions/setup-go@v2
 | 
					      - uses: actions/setup-go@v2
 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
          go-version: '1.15.2'
 | 
					          go-version: '1.15.2'
 | 
				
			||||||
      
 | 
					 | 
				
			||||||
      - name: Build
 | 
					      - name: Build
 | 
				
			||||||
        run: GOOS=linux GOARCH=amd64 go build -ldflags="-s -w -X github.com/pterodactyl/wings/system.Version=dev-${GIT_COMMIT:0:7}" -o build/wings_linux_amd64 -v wings.go
 | 
					        run: |
 | 
				
			||||||
      
 | 
					          GOOS=linux GOARCH=amd64 go build -ldflags="-s -w -X github.com/pterodactyl/wings/system.Version=dev-${GIT_COMMIT:0:7}" -o build/wings_linux_amd64 -v wings.go
 | 
				
			||||||
 | 
					          GOOS=linux GOARCH=arm64 go build -ldflags="-s -w -X github.com/pterodactyl/wings/system.Version=dev-${GIT_COMMIT:0:7}" -o build/wings_linux_arm64 -v wings.go
 | 
				
			||||||
      - name: Test
 | 
					      - name: Test
 | 
				
			||||||
        run: go test ./...
 | 
					        run: go test ./...
 | 
				
			||||||
      
 | 
					 | 
				
			||||||
      - name: Compress binary and make it executable
 | 
					      - name: Compress binary and make it executable
 | 
				
			||||||
        if: ${{ github.ref == 'refs/heads/develop' || github.event_name == 'pull_request' }}
 | 
					        if: ${{ github.ref == 'refs/heads/develop' || github.event_name == 'pull_request' }}
 | 
				
			||||||
        run: upx build/wings_linux_amd64 && chmod +x build/wings_linux_amd64
 | 
					        run: |
 | 
				
			||||||
      
 | 
					          upx build/wings_linux_amd64 && chmod +x build/wings_linux_amd64
 | 
				
			||||||
 | 
					          upx build/wings_linux_arm64 && chmod +x build/wings_linux_arm64
 | 
				
			||||||
      - uses: actions/upload-artifact@v2
 | 
					      - uses: actions/upload-artifact@v2
 | 
				
			||||||
        if: ${{ github.ref == 'refs/heads/develop' || github.event_name == 'pull_request' }}
 | 
					        if: ${{ github.ref == 'refs/heads/develop' || github.event_name == 'pull_request' }}
 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
          name: wings_linux_amd64
 | 
					          name: wings_linux_amd64
 | 
				
			||||||
          path: build/wings_linux_amd64
 | 
					          path: build/wings_linux_amd64
 | 
				
			||||||
 | 
					      - uses: actions/upload-artifact@v2
 | 
				
			||||||
 | 
					        if: ${{ github.ref == 'refs/heads/develop' || github.event_name == 'pull_request' }}
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          name: wings_linux_arm64
 | 
				
			||||||
 | 
					          path: build/wings_linux_arm64
 | 
				
			||||||
							
								
								
									
										38
									
								
								.github/workflows/release.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										38
									
								
								.github/workflows/release.yml
									
									
									
									
										vendored
									
									
								
							| 
						 | 
					@ -13,31 +13,30 @@ jobs:
 | 
				
			||||||
      - uses: actions/setup-go@v2
 | 
					      - uses: actions/setup-go@v2
 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
          go-version: '1.15.2'
 | 
					          go-version: '1.15.2'
 | 
				
			||||||
      
 | 
					 | 
				
			||||||
      - name: Build
 | 
					      - name: Build
 | 
				
			||||||
        env:
 | 
					        env:
 | 
				
			||||||
          REF: ${{ github.ref }}
 | 
					          REF: ${{ github.ref }}
 | 
				
			||||||
        run: GOOS=linux GOARCH=amd64 go build -ldflags="-s -w -X github.com/pterodactyl/wings/system.Version=${REF:11}" -o build/wings_linux_amd64 -v wings.go
 | 
					        run: |
 | 
				
			||||||
      
 | 
					          GOOS=linux GOARCH=amd64 go build -ldflags="-s -w -X github.com/pterodactyl/wings/system.Version=${REF:11}" -o build/wings_linux_amd64 -v wings.go
 | 
				
			||||||
 | 
					          GOOS=linux GOARCH=arm64 go build -ldflags="-s -w -X github.com/pterodactyl/wings/system.Version=${REF:11}" -o build/wings_linux_arm64 -v wings.go
 | 
				
			||||||
      - name: Test
 | 
					      - name: Test
 | 
				
			||||||
        run: go test ./...
 | 
					        run: go test ./...
 | 
				
			||||||
      
 | 
					 | 
				
			||||||
      - name: Compress binary and make it executable
 | 
					      - name: Compress binary and make it executable
 | 
				
			||||||
        run: upx --brute build/wings_linux_amd64 && chmod +x build/wings_linux_amd64
 | 
					        run: |
 | 
				
			||||||
 | 
					          upx --brute build/wings_linux_amd64 && chmod +x build/wings_linux_amd64
 | 
				
			||||||
 | 
					          upx build/wings_linux_arm64 && chmod +x build/wings_linux_arm64
 | 
				
			||||||
      - name: Extract changelog
 | 
					      - name: Extract changelog
 | 
				
			||||||
        env:
 | 
					        env:
 | 
				
			||||||
          REF: ${{ github.ref }}
 | 
					          REF: ${{ github.ref }}
 | 
				
			||||||
        run: |
 | 
					        run: |
 | 
				
			||||||
          sed -n "/^## ${REF:10}/,/^## /{/^## /b;p}" CHANGELOG.md > ./RELEASE_CHANGELOG
 | 
					          sed -n "/^## ${REF:10}/,/^## /{/^## /b;p}" CHANGELOG.md > ./RELEASE_CHANGELOG
 | 
				
			||||||
          echo ::set-output name=version_name::`sed -nr "s/^## (${REF:10} .*)$/\1/p" CHANGELOG.md`
 | 
					          echo ::set-output name=version_name::`sed -nr "s/^## (${REF:10} .*)$/\1/p" CHANGELOG.md`
 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Create checksum and add to changelog
 | 
					      - name: Create checksum and add to changelog
 | 
				
			||||||
        run: |
 | 
					        run: |
 | 
				
			||||||
          SUM=`cd build && sha256sum wings_linux_amd64`
 | 
					          SUM=`cd build && sha256sum wings_linux_amd64`
 | 
				
			||||||
          echo -e "\n#### SHA256 Checksum\n\n\`\`\`\n$SUM\n\`\`\`\n" >> ./RELEASE_CHANGELOG
 | 
					          SUM2=`cd build && sha256sum wings_linux_arm64`
 | 
				
			||||||
          echo $SUM > checksum.txt
 | 
					          echo -e "\n#### SHA256 Checksum\n\`\`\`\n$SUM\n$SUM2\n\`\`\`\n" >> ./RELEASE_CHANGELOG
 | 
				
			||||||
 | 
					          echo -e "$SUM\n$SUM2" > checksums.txt
 | 
				
			||||||
      - name: Create release branch
 | 
					      - name: Create release branch
 | 
				
			||||||
        env:
 | 
					        env:
 | 
				
			||||||
          REF: ${{ github.ref }}
 | 
					          REF: ${{ github.ref }}
 | 
				
			||||||
| 
						 | 
					@ -51,7 +50,6 @@ jobs:
 | 
				
			||||||
          git add system/const.go
 | 
					          git add system/const.go
 | 
				
			||||||
          git commit -m "bump version for release"
 | 
					          git commit -m "bump version for release"
 | 
				
			||||||
          git push
 | 
					          git push
 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Create Release
 | 
					      - name: Create Release
 | 
				
			||||||
        id: create_release
 | 
					        id: create_release
 | 
				
			||||||
        uses: actions/create-release@v1
 | 
					        uses: actions/create-release@v1
 | 
				
			||||||
| 
						 | 
					@ -63,8 +61,7 @@ jobs:
 | 
				
			||||||
          body_path: ./RELEASE_CHANGELOG
 | 
					          body_path: ./RELEASE_CHANGELOG
 | 
				
			||||||
          draft: true
 | 
					          draft: true
 | 
				
			||||||
          prerelease: ${{ contains(github.ref, 'beta') || contains(github.ref, 'alpha') }}
 | 
					          prerelease: ${{ contains(github.ref, 'beta') || contains(github.ref, 'alpha') }}
 | 
				
			||||||
      
 | 
					      - name: Upload AMD64 Binary
 | 
				
			||||||
      - name: Upload binary
 | 
					 | 
				
			||||||
        id: upload-release-binary 
 | 
					        id: upload-release-binary 
 | 
				
			||||||
        uses: actions/upload-release-asset@v1
 | 
					        uses: actions/upload-release-asset@v1
 | 
				
			||||||
        env:
 | 
					        env:
 | 
				
			||||||
| 
						 | 
					@ -74,7 +71,16 @@ jobs:
 | 
				
			||||||
          asset_path: build/wings_linux_amd64
 | 
					          asset_path: build/wings_linux_amd64
 | 
				
			||||||
          asset_name: wings_linux_amd64
 | 
					          asset_name: wings_linux_amd64
 | 
				
			||||||
          asset_content_type: application/octet-stream
 | 
					          asset_content_type: application/octet-stream
 | 
				
			||||||
      
 | 
					      - name: Upload ARM64 Binary
 | 
				
			||||||
 | 
					        id: upload-release-binary
 | 
				
			||||||
 | 
					        uses: actions/upload-release-asset@v1
 | 
				
			||||||
 | 
					        env:
 | 
				
			||||||
 | 
					          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          upload_url: ${{ steps.create_release.outputs.upload_url }}
 | 
				
			||||||
 | 
					          asset_path: build/wings_linux_arm64
 | 
				
			||||||
 | 
					          asset_name: wings_linux_arm64
 | 
				
			||||||
 | 
					          asset_content_type: application/octet-stream
 | 
				
			||||||
      - name: Upload checksum
 | 
					      - name: Upload checksum
 | 
				
			||||||
        id: upload-release-checksum 
 | 
					        id: upload-release-checksum 
 | 
				
			||||||
        uses: actions/upload-release-asset@v1
 | 
					        uses: actions/upload-release-asset@v1
 | 
				
			||||||
| 
						 | 
					@ -82,6 +88,6 @@ jobs:
 | 
				
			||||||
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
					          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
          upload_url: ${{ steps.create_release.outputs.upload_url }} 
 | 
					          upload_url: ${{ steps.create_release.outputs.upload_url }} 
 | 
				
			||||||
          asset_path: ./checksum.txt
 | 
					          asset_path: ./checksums.txt
 | 
				
			||||||
          asset_name: checksum.txt
 | 
					          asset_name: checksums.txt
 | 
				
			||||||
          asset_content_type: text/plain
 | 
					          asset_content_type: text/plain
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										3
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								Makefile
									
									
									
									
									
								
							| 
						 | 
					@ -1,5 +1,6 @@
 | 
				
			||||||
build:
 | 
					build:
 | 
				
			||||||
	GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -gcflags "all=-trimpath=$(PWD)" -o build/wings_linux_amd64 -v wings.go
 | 
						GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -gcflags "all=-trimpath=$(pwd)" -o build/wings_linux_amd64 -v wings.go
 | 
				
			||||||
 | 
						GOOS=linux GOARCH=arm64 go build -ldflags="-s -w" -gcflags "all=-trimpath=$(pwd)" -o build/wings_linux_arm64 -v wings.go
 | 
				
			||||||
 | 
					
 | 
				
			||||||
compress:
 | 
					compress:
 | 
				
			||||||
	upx --brute build/wings_*
 | 
						upx --brute build/wings_*
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										13
									
								
								server/filesystem/stat_arm.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								server/filesystem/stat_arm.go
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,13 @@
 | 
				
			||||||
 | 
					package filesystem
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"syscall"
 | 
				
			||||||
 | 
						"time"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Returns the time that the file/folder was created.
 | 
				
			||||||
 | 
					func (s *Stat) CTime() time.Time {
 | 
				
			||||||
 | 
						st := s.Info.Sys().(*syscall.Stat_t)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return time.Unix(int64(st.Ctim.Sec), int64(st.Ctim.Nsec))
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user