gh-38747: Fix build.yml broken for releases
<!-- ^ Please provide a concise and informative title. -->
<!-- ^ Don't put issue numbers in the title, do this in the PR
description below. -->
<!-- ^ For example, instead of "Fixes #12345" use "Introduce new method
to calculate 1 + 2". -->
<!-- v Describe your changes below in detail. -->
<!-- v Why is this change required? What problem does it solve? -->
<!-- v If this PR resolves an open issue, please link to it here. For
example, "Fixes #12345". -->
The workflow build.yml does not work well with releases:
https://github.com/sagemath/sage/actions/runs/11091397369
We fix it with
```yaml
- name: Get changed files and packages
id: changed-files
uses: tj-actions/changed-files@v45
with:
# File extensions for doctests per
sage.doctest.control.skipfile
files_yaml: |
configures:
- 'build/pkgs/*/spkg-configure.m4'
pkgs:
- 'build/pkgs/**'
- '!build/pkgs/_**'
- '!build/pkgs/configure/**'
- 'pkgs/**'
doctests:
- 'src/**/*.{py,pyx,pxd,pxi,sage,spyx,rst,tex}'
- '!src/{setup,conftest*}.py'
```
Note the two lines added
```yaml
- '!build/pkgs/_**'
- '!build/pkgs/configure/**'
```
Along the way, we make `.ci/write-dockerfile.sh` produce well formatted
`Dockerfile` to improve readability.
test:
https://github.com/kwankyu/sage/actions/runs/11122936897/job/30905299233
### :memo: Checklist
<!-- Put an `x` in all the boxes that apply. -->
- [x] The title is concise and informative.
- [x] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation and checked the documentation
preview.
### :hourglass: Dependencies
<!-- List all open PRs that this PR logically depends on. For example,
-->
<!-- - #12345: short description why this is a dependency -->
<!-- - #34567: ... -->
URL: https://github.com/sagemath/sage/pull/38747
Reported by: Kwankyu Lee
Reviewer(s): Matthias Köppe