Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
Co-authored-by: Ahsan Khan <amzahsa@amazon.com>
Co-authored-by: Ang Zhou <angzh@amazon.com>
Co-authored-by: Anqi Pang <anqipans@amazon.com>
Co-authored-by: Hsing-Yu Chen <davidhyc@amazon.com>
Co-authored-by: Justin Alvarez <alvajus@amazon.com>
Co-authored-by: Kevin Li <cnkevin@amazon.com>
Co-authored-by: Monirul Islam <monirulu@amazon.com>
Co-authored-by: Mrudul Harwani <mharwani@amazon.com>
Co-authored-by: Sam Berning <bernings@amazon.com>
Co-authored-by: Vishwas Siravara <siravara@amazon.com>
Co-authored-by: Weike Qu <weikequ@amazon.com>
Co-authored-by: Ziwen Ning <ningziwe@amazon.com>
  • Loading branch information
13 people committed Nov 17, 2022
0 parents commit 4e5d828
Show file tree
Hide file tree
Showing 27 changed files with 1,131 additions and 0 deletions.
28 changes: 28 additions & 0 deletions .github/ ISSUE_TEMPLATE /bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
name: Bug Report
about: Report a bug to help improve Finch Core
title: ''
labels: 'bug'
assignees: ''

---

**Describe the bug**
Briefly describe the probem you are having.


**Steps to reproduce**
A clear, step-by-step set of instructions to reproduce the bug.


**Expected behavior**
Description of what you expected to happen.


**Screenshots or logs**
If applicable, add screenshots or logs to help explain your problem.



**Additional context**
Add any other context about the problem here.
19 changes: 19 additions & 0 deletions .github/ ISSUE_TEMPLATE /feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: Feature Request
about: Suggest a new feature to add in Finch Core
title: ''
labels: 'feature'
assignees: ''

---

**What is the problem you're trying to solve?**
A clear and concise description of the use case for this feature. Please provide an example, if possible.


**Describe the feature you'd like**
A clear and concise description of what you'd like to happen.


**Additional context**
Add any other context or screenshots about the feature request here.
14 changes: 14 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Issue #, if available:

*Description of changes:*


*Testing done:*


- [ ] I've reviewed the guidance in CONTRIBUTING.md


#### License Acceptance

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
19 changes: 19 additions & 0 deletions .github/workflows/lint-pr-title.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: "Lint PR Title"

on:
# TODO: Change to pull_request_target after the repo is public.
pull_request:
types:
- opened
- edited
- reopened
- synchronize

jobs:
main:
name: conventional-commit
runs-on: ubuntu-latest
steps:
- uses: amannn/action-semantic-pull-request@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
16 changes: 16 additions & 0 deletions .github/workflows/release-please.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
on:
push:
branches:
- main
name: release-please
jobs:
release-please:
runs-on: ubuntu-latest
steps:
- uses: google-github-actions/release-please-action@v3
with:
release-type: go
package-name: finch
# Before we are at v1.0.0
bump-minor-pre-major: true

131 changes: 131 additions & 0 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
name: Build

on:
workflow_dispatch:
env:
GO111MODULE: on

permissions:
# This is required for configure-aws-credentials to request an OIDC JWT ID token to access AWS resources later on.
# More info: https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#adding-permissions-settings
id-token: write
contents: read # This is required for actions/checkout

jobs:
macos-arm64-build:
runs-on: ['self-hosted', 'macos', 'arm64', '11.7']
timeout-minutes: 60
steps:
- uses: actions/setup-go@v2
with:
go-version: 1.19.x
- uses: actions/checkout@v2
with:
fetch-depth: 1
submodules: recursive
persist-credentials: false

- name: Install dependencies
# QEMU: required by Lima itself
# bash: required by test-example.sh (OS version of bash is too old)
# coreutils: required by test-example.sh for the "timeout" command
# autoconf: required for building vde
# automake: required for building vde
# FileMonitor: required to capture opened files by limactl and qemu-

run: |
brew update
brew install qemu bash coreutils
brew install autoconf automake
brew install cpanm
brew upgrade
sudo cpanm install JSON
curl -OL https://bitbucket.org/objective-see/deploy/downloads/FileMonitor_1.3.0.zip
rm -rf /Applications/FileMonitor.app
unzip FileMonitor_1.3.0.zip -d /Applications
- name: Make and release deps
run: make install-deps
- name: Upload MacOS build
uses: actions/upload-artifact@v2
with:
name: lima-and-qemu.macos-arm64
path: ./src/lima/lima-and-qemu.macos*
if-no-files-found: error

macos-x86-build:
runs-on: ['self-hosted', 'macos', 'amd64', '11.7']
timeout-minutes: 60
steps:
- uses: actions/setup-go@v2
with:
go-version: 1.19.x
- uses: actions/checkout@v2
with:
fetch-depth: 1
submodules: recursive
persist-credentials: false

- name: Install dependencies
# QEMU: required by Lima itself
# bash: required by test-example.sh (OS version of bash is too old)
# coreutils: required by test-example.sh for the "timeout" command
# autoconf: required for building vde
# automake: required for building vde
# FileMonitor: required to capture opened files by limactl and qemu-

run: |
brew update
brew install qemu bash coreutils
brew install autoconf automake
brew install cpanm
brew upgrade
sudo cpanm install JSON
curl -OL https://bitbucket.org/objective-see/deploy/downloads/FileMonitor_1.3.0.zip
rm -rf /Applications/FileMonitor.app
unzip FileMonitor_1.3.0.zip -d /Applications
- name: Make and release deps
run: make install-deps
- name: Upload MacOS build
uses: actions/upload-artifact@v2
with:
name: lima-and-qemu.macos-x86
path: ./src/lima/lima-and-qemu.macos*
if-no-files-found: error

release:
runs-on: ubuntu-latest
timeout-minutes: 5
needs:
- macos-x86-build
- macos-arm64-build
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 1
persist-credentials: false

- name: configure aws credentials
uses: aws-actions/configure-aws-credentials@v1
with:
role-to-assume: ${{ secrets.ROLE }}
role-session-name: dependency-upload-session
aws-region: ${{ secrets.REGION }}

- name: Download MacOS ARM64 build
uses: actions/download-artifact@v2
with:
name: lima-and-qemu.macos-arm64
path: build
- name: Download MacOS x86_64 build
uses: actions/download-artifact@v2
with:
name: lima-and-qemu.macos-x86
path: build
- name: "Upload to S3"
run: |
aws s3 cp ./build/ s3://${{ secrets.DEPENDENCY_BUCKET_NAME }}/aarch64/ --recursive --exclude "*" --include "lima-and-qemu.macos-aarch64*"
aws s3 cp ./build/ s3://${{ secrets.DEPENDENCY_BUCKET_NAME }}/x86-64/ --recursive --exclude "*" --include "lima-and-qemu.macos-x86_64*"

21 changes: 21 additions & 0 deletions .github/workflows/submodulesync.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Sync Submodules

on:
workflow_dispatch:
jobs:
update:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
submodules: recursive
token: ${{ secrets.GITHUB_TOKEN }}
- name: Update sub modules
run: git submodule update --remote
- name: Create PR
uses: peter-evans/create-pull-request@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: bump submodules
title: '[Automated] Bump submodules'
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
_output/
downloads/
*.idea
*.DS_Store
*.bak
**/*.tar.gz
.vscode/
**/node_modules
6 changes: 6 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[submodule "src/lima"]
path = src/lima
url = https://github.com/lima-vm/lima
[submodule "src/socket_vmnet"]
path = src/socket_vmnet
url = https://github.com/lima-vm/socket_vmnet
Loading

0 comments on commit 4e5d828

Please sign in to comment.