|
1 | | - |
2 | 1 | --- |
3 | 2 |
|
4 | 3 | # Arch Linux Without the Beeps |
@@ -80,6 +79,129 @@ The GitHub Actions workflow automatically builds and releases the ISO. Here’s |
80 | 79 | 1. **Run the workflow**: |
81 | 80 | You can run the workflow by going to **Actions > Build ISO** and clicking on **Run Workflow**. |
82 | 81 |
|
| 82 | +### Detailed Explanations of Each Workflow |
| 83 | + |
| 84 | +#### Validate and Test Build |
| 85 | + |
| 86 | +- **File**: `build-check.yaml` |
| 87 | +- **Purpose**: Validates the package list, runs a security scan, and tests the build process. |
| 88 | +- **Steps**: |
| 89 | + 1. **Checkout Repository**: Pulls the latest files from the repository. |
| 90 | + 2. **Validate Package List**: Checks for duplicate packages and validates package names. |
| 91 | + 3. **Run Security Scan**: Uses Trivy to scan for vulnerabilities. |
| 92 | + 4. **Test Build**: Builds the ISO and verifies its integrity. |
| 93 | + |
| 94 | +#### Build ISO |
| 95 | + |
| 96 | +- **File**: `build.yaml` |
| 97 | +- **Purpose**: Builds the Arch Linux ISO. |
| 98 | +- **Steps**: |
| 99 | + 1. **Checkout Repository**: Pulls the latest files from the repository. |
| 100 | + 2. **Set up Environment Variables**: Initializes necessary environment variables. |
| 101 | + 3. **Cache Pacman Packages**: Caches packages to speed up the build process. |
| 102 | + 4. **Set up Arch Linux Container**: Initializes the build environment. |
| 103 | + 5. **Build ISO**: Builds the ISO using `mkarchiso`. |
| 104 | + 6. **Generate Checksums**: Creates SHA256 and SHA512 checksums for the ISO. |
| 105 | + 7. **Rename and Move ISO**: Renames the ISO file and moves it to the output directory. |
| 106 | + 8. **Generate Release Notes**: Creates release notes for the new ISO. |
| 107 | + 9. **Create Release**: Uploads the ISO and checksums as a new release on GitHub. |
| 108 | + |
| 109 | +#### Check Dockerfile |
| 110 | + |
| 111 | +- **File**: `dockerfile-check.yaml` |
| 112 | +- **Purpose**: Ensures the Dockerfile works correctly. |
| 113 | +- **Steps**: |
| 114 | + 1. **Checkout Repository**: Pulls the latest files from the repository. |
| 115 | + 2. **Build and Run Docker Container**: Builds the Docker image and runs the container to create the ISO. |
| 116 | + |
| 117 | +### Setting Up and Configuring Dependabot |
| 118 | + |
| 119 | +Dependabot can be used to automate dependency updates for GitHub Actions. Here's how to set it up: |
| 120 | + |
| 121 | +1. **Create a `.github/dependabot.yml` file**: |
| 122 | + |
| 123 | + ```yaml |
| 124 | + version: 2 |
| 125 | + updates: |
| 126 | + - package-ecosystem: "github-actions" |
| 127 | + directory: "/.github/workflows" |
| 128 | + schedule: |
| 129 | + interval: "daily" |
| 130 | + labels: |
| 131 | + - "github-actions" |
| 132 | + assignees: |
| 133 | + - "Githubguy132010" |
| 134 | + ``` |
| 135 | +
|
| 136 | +2. **Commit and Push**: Commit the file to your repository and push the changes. Dependabot will now check for updates daily and create pull requests for any updates it finds. |
| 137 | +
|
| 138 | +### Monitoring and Troubleshooting GitHub Actions Workflows |
| 139 | +
|
| 140 | +1. **Monitor Workflow Runs**: Go to the **Actions** tab in your repository to see the status of workflow runs. |
| 141 | +2. **View Logs**: Click on a workflow run to view detailed logs of each step. |
| 142 | +3. **Troubleshoot Failures**: |
| 143 | + - **Check Logs**: Look for error messages in the logs to identify the cause of the failure. |
| 144 | + - **Rerun Jobs**: You can rerun failed jobs by clicking on the **Re-run jobs** button. |
| 145 | + - **Update Dependencies**: Ensure that all dependencies are up to date. |
| 146 | +
|
| 147 | +--- |
| 148 | +
|
| 149 | +## Troubleshooting Common Issues |
| 150 | +
|
| 151 | +### Docker Permission Errors |
| 152 | +
|
| 153 | +If you encounter permission errors when running Docker commands, try the following solutions: |
| 154 | +
|
| 155 | +1. **Add Your User to the Docker Group**: |
| 156 | +
|
| 157 | + ```bash |
| 158 | + sudo usermod -aG docker $USER |
| 159 | + newgrp docker |
| 160 | + ``` |
| 161 | + |
| 162 | +2. **Run Docker Commands with `sudo`**: |
| 163 | + |
| 164 | + ```bash |
| 165 | + sudo docker run ... |
| 166 | + ``` |
| 167 | + |
| 168 | +### Network Problems |
| 169 | + |
| 170 | +If you experience network issues during the build process, consider the following tips: |
| 171 | + |
| 172 | +1. **Check Your Internet Connection**: Ensure that your internet connection is stable. |
| 173 | +2. **Use a Different Network**: Try using a different network to see if the issue persists. |
| 174 | +3. **Configure Docker Network Settings**: Adjust Docker's network settings if necessary. |
| 175 | + |
| 176 | +### Common Build Errors |
| 177 | + |
| 178 | +#### Package Not Found |
| 179 | + |
| 180 | +If a package is not found during the build process, ensure that the package name is correct and that it exists in the Arch Linux repositories. |
| 181 | + |
| 182 | +#### Duplicate Packages |
| 183 | + |
| 184 | +If duplicate packages are found in the package list, remove the duplicates to resolve the issue. |
| 185 | + |
| 186 | +--- |
| 187 | + |
| 188 | +## FAQ |
| 189 | + |
| 190 | +### What is the purpose of this project? |
| 191 | + |
| 192 | +This project provides a customized Arch Linux ISO with system beeps disabled, ideal for users who prefer a quieter environment. |
| 193 | + |
| 194 | +### How often is the ISO updated? |
| 195 | + |
| 196 | +The ISO is updated daily through an automated GitHub Actions workflow. |
| 197 | + |
| 198 | +### How can I contribute to this project? |
| 199 | + |
| 200 | +You can contribute by reporting issues, suggesting features, or submitting pull requests. Please refer to the [CONTRIBUTING.md](CONTRIBUTING.md) file for more details. |
| 201 | + |
| 202 | +### Where can I download the latest ISO? |
| 203 | + |
| 204 | +You can download the latest ISO from the [releases page](https://github.com/Githubguy132010/Arch-Linux-without-the-beeps/releases). |
83 | 205 |
|
84 | 206 | --- |
85 | 207 |
|
|
0 commit comments